Function at 0x50458a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb8
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0xb4], eax
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ebx
mov ebx, dword [esp + 0xc8]
movzx eax, byte [ebx]
push ebp
push esi
mov esi, dword [esp + 0xc8]
push edi
mov edi, dword [esp + 0xd0]
push eax
push ecx
push str.switch_time
push 0
push edi
push esi
call fcn.0503f000
movzx edx, byte [ebx + 1]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
push str.tx_rx_switch_time
push 1
push edi
push esi
call fcn.0503f000
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
mov eax, 0xffffffdc
add esp, 0x30
sub eax, ebx
mov dword [esp + 0x30], eax
mov eax, 0x26
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], 2
jmp 0x5045934
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
add eax, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 9
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
push ecx
push edx
lea eax, [esp + 0x4c]
push str.gain_rxm__d___d_
push eax
call ebp
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax - 0x24]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x5c]
push ecx
add edx, eax
push edx
push edi
push esi
call fcn.0503f040
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
push eax
push ecx
lea edx, [esp + 0x74]
push str.gain_rxd__d___d_
push edx
call ebp
mov eax, dword [esp + 0x54]
movzx ecx, word [eax]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
mov ecx, dword [esp + 0x50]
push edx
lea eax, [esp + 0x84]
push eax
push ecx
push edi
push esi
call fcn.0503f040
mov eax, 1
add dword [esp + 0x74], eax
mov ecx, 2
add dword [esp + 0x64], ecx
add dword [esp + 0x6c], ecx
add esp, 0x50
sub dword [esp + 0x20], eax
jne 0x5045950
add dword [esp + 0x2c], eax
add dword [esp + 0x18], 0x12
sub dword [esp + 0x34], eax
jne 0x5045930
movzx edx, byte [ebx + 0x4a]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
push str.band_info.band_num
push 0x4a
push edi
push esi
call fcn.0503f000
movzx ecx, byte [ebx + 0x4b]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
push str.band_info.padding
push 0x4b
push edi
push esi
call fcn.0503f000
add esp, 0x30
xor al, al
mov byte [esp + 0x13], al
jmp 0x5045a44
mov al, byte [esp + 0x13]
cmp al, byte [ebx + 0x4a]
jae 0x5045be1
movzx ebx, al
push ebx
lea eax, [esp + 0x48]
push str.band_info.band_usage__d_.band
push eax
call ebp
mov ecx, dword [esp + 0xe0]
movzx edx, word [ecx + ebx*8 + 0x4c]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [ebx*8 + 0x4c]
push edx
push edi
push esi
call fcn.0503f080
push ebx
lea eax, [esp + 0x6c]
push str.band_info.band_usage__d_.rx_type1_num
push eax
call ebp
mov ecx, dword [esp + 0x104]
movzx edx, byte [ecx + ebx*8 + 0x4e]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [ebx*8 + 0x4e]
push edx
push edi
push esi
call fcn.0503f000
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.band_info.band_usage__d_.rx_type2_num
push eax
call ebp
mov ecx, dword [esp + 0xe0]
movzx edx, byte [ecx + ebx*8 + 0x4f]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [ebx*8 + 0x4f]
push edx
push edi
push esi
call fcn.0503f000
push ebx
lea eax, [esp + 0x6c]
push str.band_info.band_usage__d_.tx_type1_num
push eax
call ebp
mov ecx, dword [esp + 0x104]
lea eax, [ebx*8 + 0x50]
movzx edx, byte [eax + ecx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
push eax
push edi
push esi
call fcn.0503f000
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.band_info.band_usage__d_.rx_freq_num
push eax
call ebp
mov ecx, dword [esp + 0xe0]
movzx edx, byte [ecx + ebx*8 + 0x51]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [ebx*8 + 0x51]
push edx
push edi
push esi
call fcn.0503f000
push ebx
lea eax, [esp + 0x6c]
push str.band_info.band_usage__d_.tx_freq_num
push eax
call ebp
mov ecx, dword [esp + 0x104]
movzx edx, byte [ecx + ebx*8 + 0x52]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [ebx*8 + 0x52]
push edx
push edi
push esi
call fcn.0503f000
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.band_info.band_usage__d_.padding
push eax
call ebp
mov ecx, dword [esp + 0xe0]
movzx edx, byte [ecx + ebx*8 + 0x53]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [ebx*8 + 0x53]
push edx
push edi
push esi
call fcn.0503f000
mov al, byte [esp + 0x37]
mov ebx, dword [esp + 0xf8]
inc al
add esp, 0x24
mov byte [esp + 0x13], al
cmp al, 0x23
jb 0x5045a40
mov byte [esp + 0x13], 0
movzx ecx, byte [esp + 0x13]
mov eax, ecx
imul eax, eax, 0x32
cmp word [eax + ebx + 0xce], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
je 0x5045d5c
push ecx
lea eax, [esp + 0x48]
push str.rx_type1_route__d_.route_idx
push eax
call ebp
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + ebx + 0xcc]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x58]
push ecx
add eax, 0xcc
push eax
push edi
push esi
call fcn.0503f080
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x6c]
push str.rx_type1_route__d_.band
push eax
call ebp
mov eax, dword [esp + 0x54]
movzx ecx, word [eax + ebx + 0xce]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x7c]
push ecx
add eax, 0xce
push eax
push edi
push esi
call fcn.0503f080
mov edx, dword [esp + 0x6c]
add esp, 0x48
add edx, 0xd0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x4c]
push str.rx_type1_route__d_.dl_freq__d_
push edx
call ebp
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + ebx]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x5c]
push ecx
push eax
push edi
push esi
call fcn.0503f080
add dword [esp + 0x40], 2
mov eax, 1
add dword [esp + 0x3c], eax
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x5045c92
mov edx, dword [esp + 0x24]
add edx, 0xee
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], 8
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x4c]
push str.rx_type1_route__d_.temp_offset__d_
push edx
call ebp
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + ebx]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x5c]
push ecx
push eax
push edi
push esi
call fcn.0503f040
add dword [esp + 0x40], 2
mov eax, 1
add dword [esp + 0x3c], eax
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x5045d00
mov al, byte [esp + 0x13]
inc al
mov byte [esp + 0x13], al
cmp al, 0x10
jb 0x5045be6
mov byte [esp + 0x13], 0
movzx ecx, byte [esp + 0x13]
mov eax, ecx
imul eax, eax, 0x34
cmp word [eax + ebx + 0x3ee], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
je 0x5045f0c
push ecx
lea edx, [esp + 0x48]
push str.rx_type2_route__d_.route_idx
push edx
call ebp
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + ebx + 0x3ec]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x58]
push ecx
add eax, 0x3ec
push eax
push edi
push esi
call fcn.0503f080
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x6c]
push str.rx_type2_route__d_.band
push eax
call ebp
mov eax, dword [esp + 0x54]
movzx ecx, word [eax + ebx + 0x3ee]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x7c]
push ecx
add eax, 0x3ee
push eax
push edi
push esi
call fcn.0503f080
mov edx, dword [esp + 0x64]
add esp, 0x48
push edx
lea eax, [esp + 0x48]
push str.rx_type2_route__d_.ant_mask
push eax
call ebp
mov eax, dword [esp + 0x30]
movzx ecx, byte [eax + ebx + 0x3f0]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x58]
push ecx
add eax, 0x3f0
push eax
push edi
push esi
call fcn.0503f000
mov edx, dword [esp + 0x48]
add esp, 0x24
add edx, 0x3f2
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x4c]
push str.rx_type2_route__d_.dl_freq__d_
push edx
call ebp
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + ebx]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x5c]
push ecx
push eax
push edi
push esi
call fcn.0503f080
add dword [esp + 0x40], 2
mov eax, 1
add dword [esp + 0x3c], eax
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x5045e47
mov eax, dword [esp + 0x1c]
add eax, 0x14
imul eax, eax, 0x34
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 8
nop
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x4c]
push str.rx_type2_route__d_.temp_offset__d_
push ecx
call ebp
mov eax, dword [esp + 0x28]
movzx edx, word [eax + ebx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
push edi
push esi
call fcn.0503f040
add dword [esp + 0x40], 2
mov eax, 1
add dword [esp + 0x3c], eax
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x5045eb0
mov al, byte [esp + 0x13]
inc al
mov byte [esp + 0x13], al
cmp al, 8
jb 0x5045d61
mov byte [esp + 0x13], 0
movzx ebx, byte [esp + 0x13]
mov ecx, dword [esp + 0xd4]
mov eax, ebx
imul eax, eax, 0x67e
cmp word [eax + ecx + 0x58e], 0
mov dword [esp + 0x28], eax
lea eax, [eax + ecx + 0x58e]
mov dword [esp + 0x30], eax
je 0x5046833
push ebx
lea edx, [esp + 0x48]
push str.tx_type1_route__d_.route_idx
push edx
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, word [eax + ecx + 0x58c]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x58c
push eax
push edi
push esi
call fcn.0503f080
push ebx
lea eax, [esp + 0x6c]
push str.tx_type1_route__d_.band
push eax
call ebp
mov ecx, dword [esp + 0x60]
movzx edx, word [ecx]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
mov edx, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0x7c]
push ecx
add edx, 0x58e
push edx
push edi
push esi
call fcn.0503f080
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tx_path_sel_bitmap
push eax
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, word [eax + ecx + 0x590]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x590
push eax
push edi
push esi
call fcn.0503f080
mov eax, dword [esp + 0x4c]
add esp, 0x24
add eax, 0xbba
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0xf
lea esp, [esp]
mov ecx, dword [esp + 0x14]
push ecx
push ebx
lea edx, [esp + 0x4c]
push str.tx_type1_route__d_.freq_pwr_step_num__d_
push edx
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xe4]
movzx edx, byte [eax + ecx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
push edi
push esi
call fcn.0503f000
mov eax, 1
add dword [esp + 0x3c], eax
add dword [esp + 0x40], eax
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x5046010
mov eax, dword [esp + 0x28]
lea ecx, [eax + 0xbc9]
lea edx, [eax + 0xbf0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xd4]
lea eax, [eax + ecx + 0xbf0]
mov dword [esp + 0x24], eax
mov eax, 0xffffffe6
sub eax, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0xd
mov ecx, dword [esp + 0x1c]
push ecx
push ebx
lea edx, [esp + 0x4c]
push str.tx_type1_route__d_.pwr_step_pa_mode__d_
push edx
call ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xe4]
movzx edx, byte [eax + ecx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
push edi
push esi
call fcn.0503f000
mov eax, dword [esp + 0x44]
push eax
push ebx
lea ecx, [esp + 0x74]
push str.tx_type1_route__d_.pwr_step_value__d_
push ecx
call ebp
mov eax, dword [esp + 0x5c]
movzx edx, word [eax - 0x1a]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x84]
push edx
add ecx, eax
push ecx
push edi
push esi
call fcn.0503f040
mov edx, dword [esp + 0x6c]
add esp, 0x50
push edx
push ebx
lea eax, [esp + 0x4c]
push str.tx_type1_route__d_.pwr_step_pa_gain__d_
push eax
call ebp
mov ecx, dword [esp + 0x34]
movzx edx, word [ecx]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
mov edx, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x5c]
push ecx
push edx
push edi
push esi
call fcn.0503f040
mov eax, 1
add dword [esp + 0x44], eax
add dword [esp + 0x40], eax
mov ecx, 2
add dword [esp + 0x3c], ecx
add dword [esp + 0x4c], ecx
add esp, 0x28
sub dword [esp + 0x20], eax
jne 0x50460a1
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tpc_settings.bandIndex
push eax
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, word [eax + ecx + 0x592]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x592
push eax
push edi
push esi
call fcn.0503f080
push ebx
lea eax, [esp + 0x6c]
push str.tx_type1_route__d_.tpc_settings.routeIndex
push eax
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x104]
movzx edx, word [eax + ecx + 0x594]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
add eax, 0x594
push eax
push edi
push esi
call fcn.0503f080
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x11c]
movzx edx, word [eax + ecx + 0x596]
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tpc_settings.path_select
push eax
mov dword [esp + 0x3c], edx
call ebp
mov ecx, dword [esp + 0x3c]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
mov ecx, dword [esp + 0x38]
push edx
lea eax, [esp + 0x58]
push eax
add ecx, 0x596
push ecx
push edi
push esi
call fcn.0503f080
push ebx
lea edx, [esp + 0x6c]
push str.tx_type1_route__d_.tpc_settings.paControlLevel
push edx
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x104]
movzx edx, byte [eax + ecx + 0x598]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
add eax, 0x598
push eax
push edi
push esi
call fcn.0503f000
add esp, 0x48
push ebx
push str.tx_type1_route__d_.tpc_settings.calRoomTempIdx
lea eax, [esp + 0x4c]
push eax
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, byte [eax + ecx + 0x599]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x599
push eax
push edi
push esi
call fcn.0503f000
push ebx
lea eax, [esp + 0x6c]
push str.tx_type1_route__d_.tpc_settings.hysteresisStart0
push eax
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x104]
movzx edx, word [eax + ecx + 0x59a]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
add eax, 0x59a
push eax
push edi
push esi
call fcn.0503f040
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tpc_settings.hysteresisEnd0
push eax
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, word [eax + ecx + 0x59c]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x59c
push eax
push edi
push esi
call fcn.0503f040
push ebx
lea eax, [esp + 0x6c]
push str.tx_type1_route__d_.tpc_settings.hysteresisStart1
push eax
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x104]
movzx edx, word [eax + ecx + 0x59e]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
add eax, 0x59e
push eax
push edi
push esi
call fcn.0503f040
add esp, 0x48
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tpc_settings.hysteresisEnd1
push eax
call ebp
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x34]
movzx edx, word [eax + ecx + 0x5a0]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x5a0
push eax
push edi
push esi
call fcn.0503f040
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + 0x5ca]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xf8]
lea edx, [ecx + eax + 0x5ca]
mov dword [esp + 0x40], edx
lea edx, [ecx + 0x5ba]
lea ecx, [ecx + eax + 0x5ba]
mov dword [esp + 0x48], ecx
mov ecx, 0xfffffff0
sub ecx, eax
mov dword [esp + 0x5c], ecx
mov ecx, 0xffffffd8
sub ecx, eax
mov dword [esp + 0x54], ecx
mov ecx, 0x18
sub ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, 0x20
add esp, 0x24
sub ecx, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], 8
mov edx, dword [esp + 0x2c]
push edx
push ebx
lea eax, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.paMode__d_
push eax
call ebp
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax - 0x28]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x5c]
push ecx
add edx, eax
push edx
push edi
push esi
call fcn.0503f000
mov eax, dword [esp + 0x54]
push eax
push ebx
lea ecx, [esp + 0x74]
push str.tx_type1_route__d_.tpc_settings.pRf__d_
push ecx
call ebp
mov eax, dword [esp + 0x5c]
movzx edx, word [eax - 0x10]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x84]
push edx
add ecx, eax
push ecx
push edi
push esi
call fcn.0503f040
mov edx, dword [esp + 0x7c]
add esp, 0x50
push edx
push ebx
lea eax, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.paGain__d_
push eax
call ebp
mov ecx, dword [esp + 0x34]
movzx edx, word [ecx]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
mov edx, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x5c]
push ecx
push edx
push edi
push esi
call fcn.0503f080
mov eax, dword [esp + 0x54]
push eax
push ebx
lea ecx, [esp + 0x74]
push str.tx_type1_route__d_.tpc_settings.dc2dcLevel__d_
push ecx
call ebp
mov edx, dword [esp + 0x54]
movzx eax, byte [edx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push eax
mov eax, dword [esp + 0x54]
push ecx
lea edx, [esp + 0x84]
push edx
push eax
push edi
push esi
call fcn.0503f000
mov ecx, dword [esp + 0x7c]
add esp, 0x50
push ecx
push ebx
lea edx, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.vBiasDac__d_
push edx
call ebp
mov eax, dword [esp + 0x34]
movzx ecx, word [eax + 0x18]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x5c]
push ecx
add edx, eax
push edx
push edi
push esi
call fcn.0503f080
mov eax, dword [esp + 0x54]
push eax
push ebx
lea ecx, [esp + 0x74]
push str.tx_type1_route__d_.tpc_settings.vm0__d_
push ecx
call ebp
mov eax, dword [esp + 0x54]
movzx edx, byte [eax + 0x18]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x84]
push edx
add ecx, eax
push ecx
push edi
push esi
call fcn.0503f000
mov edx, dword [esp + 0x7c]
add esp, 0x50
push edx
push ebx
lea eax, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.vm1__d_
push eax
call ebp
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax + 0x20]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x5c]
push ecx
add edx, eax
push edx
push edi
push esi
call fcn.0503f000
mov eax, 1
add dword [esp + 0x54], eax
add dword [esp + 0x40], eax
add dword [esp + 0x44], eax
mov ecx, 2
add dword [esp + 0x3c], ecx
add dword [esp + 0x4c], ecx
add esp, 0x28
sub dword [esp + 0x34], eax
jne 0x5046401
push ebx
lea eax, [esp + 0x48]
push str.tx_type1_route__d_.tpc_settings.pa_gain_g12a
push eax
call ebp
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xe0]
movzx edx, word [eax + ecx + 0x5f2]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x58]
push edx
add eax, 0x5f2
push eax
push edi
push esi
call fcn.0503f080
push ebx
lea eax, [esp + 0x6c]
push str.tx_type1_route__d_.tpc_settings.pa_gain_g12b
push eax
call ebp
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x104]
movzx edx, word [eax + ecx + 0x5f4]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x7c]
push edx
add eax, 0x5f4
push eax
push edi
push esi
call fcn.0503f080
mov eax, 0xfffffd2a
sub eax, dword [esp + 0x11c]
add esp, 0x48
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
lea ecx, [eax + 0x8ea]
add eax, 0x8e4
mov dword [esp + 0x24], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 3
mov edx, dword [esp + 0x24]
push edx
push ebx
lea eax, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.couplerLoss__d_
push eax
call ebp
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xe4]
movzx edx, word [eax + ecx]
mov ecx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push edx
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
push edi
push esi
call fcn.0503f040
mov eax, dword [esp + 0x60]
add esp, 0x28
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], 8
jmp 0x50466b4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x34], eax
add eax, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], 0xf
jmp 0x50466e0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
push ebx
lea edx, [esp + 0x54]
push str.tx_type1_route__d_.tpc_settings.paGainSbWeight__d___d___d_
push edx
call ebp
mov eax, dword [esp + 0x44]
movzx ecx, word [eax - 0x2d6]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x64]
push ecx
add edx, eax
push edx
push edi
push esi
call fcn.0503f040
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
push ebx
lea eax, [esp + 0x84]
push str.tx_type1_route__d_.tpc_settings.powerDetector__d___d___d_
push eax
call ebp
mov ecx, dword [esp + 0x74]
movzx edx, word [ecx]
mov eax, dword [str.ERf_FHC_V2_CaMode_Cmd]
add esp, 0x48
push edx
mov edx, dword [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edx
push edi
push esi
call fcn.0503f040
mov ecx, 1
add dword [esp + 0x34], ecx
mov eax, 2
add dword [esp + 0x4c], eax
add dword [esp + 0x44], eax
add esp, 0x18
sub dword [esp + 0x3c], ecx
jne 0x50466e0
add dword [esp + 0x14], 0x1e
mov eax, ecx
add dword [esp + 0x18], eax
sub dword [esp + 0x38], eax
jne 0x50466b0
add dword [esp + 0x24], eax
add dword [esp + 0x20], 2
sub dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
jne 0x5046658
mov edx, dword [esp + 0x28]
add edx, 0x5f6
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 0xf
mov eax, dword [esp + 0x20]
push eax
push ebx
lea ecx, [esp + 0x4c]
push str.tx_type1_route__d_.tpc_settings.ulFrequency__d_
push ecx
call ebp
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xe4]
movzx ecx, word [eax + edx]
mov edx, dword [str.ERf_FHC_V2_CaMode_Cmd]
push ecx
push edx
lea ecx, [esp + 0x5c]
push ecx
push eax
push edi
push esi
call fcn.0503f080
add dword [esp + 0x5c], 2
mov eax, 1
add dword [esp + 0x48], eax
add esp, 0x28
sub dword [esp + 0x30], eax
jne 0x50467d4
mov al, byte [esp + 0x13]
inc al
mov byte [esp + 0x13], al
cmp al, 0x10
jb 0x5045f11
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0520b902
add esp, 0xb8
ret