AUTO:0042E482 ; Exported entry 128. W?set_rf_frequency$:C331_C_CTRL$n(x$$TE$$x$$TE$$xdx$$TE$$)v AUTO:0042E482 AUTO:0042E482 ; =============== S U B R O U T I N E ======================================= AUTO:0042E482 AUTO:0042E482 ; Attributes: bp-based frame AUTO:0042E482 AUTO:0042E482 ; int __cdecl C331_C_CTRL__set_rf_frequency(int, char, char, double) AUTO:0042E482 public W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v AUTO:0042E482 W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v proc near AUTO:0042E482 ; CODE XREF: C331_C_CTRL::_call_331_command(char const,void * const,short const,void * const,short const)+37Bp AUTO:0042E482 AUTO:0042E482 var_18 = qword ptr -18h AUTO:0042E482 var_10 = dword ptr -10h AUTO:0042E482 arg_0 = dword ptr 8 AUTO:0042E482 arg_4 = byte ptr 0Ch AUTO:0042E482 arg_8 = byte ptr 10h AUTO:0042E482 arg_C = qword ptr 14h <=========== Freq. Wert AUTO:0042E482 AUTO:0042E482 push ebp AUTO:0042E483 mov ebp, esp AUTO:0042E485 push ebx AUTO:0042E486 push esi AUTO:0042E487 push edi AUTO:0042E488 sub esp, 4 AUTO:0042E48E movsx eax, [ebp+arg_4] AUTO:0042E492 push eax AUTO:0042E493 mov eax, [ebp+arg_0] AUTO:0042E496 push eax AUTO:0042E497 call W?direction_index$_C331_C_CTRL$n_x$$TE$$_ul AUTO:0042E49C add esp, 8 AUTO:0042E49F mov [ebp+var_10], eax AUTO:0042E4A2 cmp dword ptr [ebp+arg_C+4], 100000h <==+ ob da schon check auf kleiner min freq. AUTO:0042E4A9 jnz short loc_42E4B1 + und größer max freq. statfindet ??? AUTO:0042E4AB cmp dword ptr [ebp+arg_C], 1 + AUTO:0042E4AF jz short loc_42E4EF <==+ AUTO:0042E4B1 AUTO:0042E4B1 loc_42E4B1: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+27j AUTO:0042E4B1 fld [ebp+arg_C] AUTO:0042E4B4 sub esp, 8 AUTO:0042E4B7 fstp [esp+18h+var_18] AUTO:0042E4BA mov eax, [ebp+var_10] AUTO:0042E4BD add eax, eax AUTO:0042E4BF add eax, [ebp+arg_0] AUTO:0042E4C2 movzx eax, word ptr [eax+2B3ADh] AUTO:0042E4C9 shl eax, 4 AUTO:0042E4CC mov ecx, eax AUTO:0042E4CE imul eax, [ebp+var_10], 7080h AUTO:0042E4D5 mov edx, [ebp+arg_0] AUTO:0042E4D8 add edx, 7AEh AUTO:0042E4DE add eax, edx AUTO:0042E4E0 add eax, ecx AUTO:0042E4E2 push eax ; Buf1 AUTO:0042E4E3 mov eax, [ebp+arg_0] AUTO:0042E4E6 push eax ; int AUTO:0042E4E7 call W?change_value$_C331_C_CTRL$n_pnulxd_i ; C331_C_CTRL::change_value(ulong *,double const) AUTO:0042E4EC add esp, 10h AUTO:0042E4EF AUTO:0042E4EF loc_42E4EF: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+2Dj AUTO:0042E4EF cmp [ebp+arg_8], 0Dh AUTO:0042E4F3 jge short loc_42E536 AUTO:0042E4F5 movsx ax, [ebp+arg_8] AUTO:0042E4FA movzx eax, ax AUTO:0042E4FD push eax AUTO:0042E4FE mov eax, [ebp+var_10] AUTO:0042E501 add eax, eax AUTO:0042E503 add eax, [ebp+arg_0] AUTO:0042E506 movzx eax, word ptr [eax+2B3ADh] AUTO:0042E50D shl eax, 4 AUTO:0042E510 mov ecx, eax AUTO:0042E512 imul eax, [ebp+var_10], 7080h AUTO:0042E519 mov edx, [ebp+arg_0] AUTO:0042E51C add edx, 7AEh AUTO:0042E522 add eax, edx AUTO:0042E524 add eax, ecx AUTO:0042E526 add eax, 0Eh AUTO:0042E529 push eax AUTO:0042E52A mov eax, [ebp+arg_0] AUTO:0042E52D push eax AUTO:0042E52E call W?change_value$_C331_C_CTRL$n_rnusxus_i ; C331_C_CTRL::change_value(ushort &,ushort const) AUTO:0042E533 add esp, 0Ch AUTO:0042E536 AUTO:0042E536 loc_42E536: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+71j AUTO:0042E536 mov eax, [ebp+var_10] AUTO:0042E539 add eax, eax AUTO:0042E53B add eax, [ebp+arg_0] AUTO:0042E53E movzx eax, word ptr [eax+2B3ADh] AUTO:0042E545 push eax AUTO:0042E546 mov eax, [ebp+var_10] AUTO:0042E549 push eax AUTO:0042E54A mov eax, [ebp+arg_0] AUTO:0042E54D push eax AUTO:0042E54E call W?set_channel_idx$_C331_C_CTRL$n_xixus_v ; C331_C_CTRL::set_channel_idx(int const,ushort const) AUTO:0042E553 add esp, 0Ch AUTO:0042E556 cmp [ebp+arg_4], 0 AUTO:0042E55A jnz short loc_42E5AF AUTO:0042E55C mov eax, [ebp+arg_0] AUTO:0042E55F cmp word ptr [eax+2B3A9h], 0FFFFh AUTO:0042E567 jz short loc_42E584 AUTO:0042E569 mov eax, [ebp+var_10] AUTO:0042E56C add eax, eax AUTO:0042E56E add eax, [ebp+arg_0] AUTO:0042E571 mov dx, [eax+2B3ADh] AUTO:0042E578 mov eax, [ebp+arg_0] AUTO:0042E57B cmp dx, [eax+2B3A9h] AUTO:0042E582 jnz short loc_42E5A2 AUTO:0042E584 AUTO:0042E584 loc_42E584: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+E5j AUTO:0042E584 mov eax, [ebp+arg_0] AUTO:0042E587 push eax AUTO:0042E588 fld [ebp+arg_C] AUTO:0042E58B sub esp, 8 AUTO:0042E58E fstp qword ptr [esp] AUTO:0042E591 mov eax, [ebp+arg_0] AUTO:0042E594 add eax, 2B29Ah AUTO:0042E599 push eax AUTO:0042E59A call sub_43ADA8 AUTO:0042E59F add esp, 10h AUTO:0042E5A2 AUTO:0042E5A2 loc_42E5A2: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+100j AUTO:0042E5A2 mov eax, [ebp+arg_0] AUTO:0042E5A5 mov dword ptr [eax+2B393h], 1 AUTO:0042E5AF AUTO:0042E5AF loc_42E5AF: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+D8j AUTO:0042E5AF mov eax, [ebp+arg_0] AUTO:0042E5B2 cmp dword ptr [eax+2B38Bh], 0 AUTO:0042E5B9 jnz short loc_42E5C7 AUTO:0042E5BB mov eax, [ebp+arg_0] AUTO:0042E5BE push eax AUTO:0042E5BF call W?transfer_channels_to_cor$_C331_C_CTRL$n__v ; C331_C_CTRL::transfer_channels_to_cor(void) AUTO:0042E5C4 add esp, 4 AUTO:0042E5C7 AUTO:0042E5C7 loc_42E5C7: ; CODE XREF: W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v+137j AUTO:0042E5C7 lea esp, [ebp-0Ch] AUTO:0042E5CA pop edi AUTO:0042E5CB pop esi AUTO:0042E5CC pop ebx AUTO:0042E5CD pop ebp AUTO:0042E5CE retn AUTO:0042E5CE W?set_rf_frequency$_C331_C_CTRL$n_x$$TE$$x$$TE$$xdx$$TE$$_v endp AUTO:0042E5CE