Function at 0x403400
Capabilities:
Print debug messages
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
mov eax, dword [0x434304]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
lea ecx, [ebx + 0x14]
call fcn.00401000
test eax, eax
je 0x403854
mov al, byte [ebx + 0x35]
mov ecx, 0xe
mov esi, str.SOFTWAREAtherosVistaAddOn
lea edi, [ebp - 0x438]
rep movsd dword es:[edi], dword [esi]
push 0x1d0
xor esi, esi
lea ecx, [ebp - 0x400]
push esi
push ecx
mov byte [ebp - 0x439], al
call fcn.0041d650
movzx eax, byte [ebx + 0x36]
add esp, 0xc
sub eax, 0x8f
je 0x40375c
sub eax, 3
jne 0x403854
mov al, byte [ebx + 0x37]
cmp al, 8
jne 0x4034ea
mov bl, byte [ebx + 0x39]
movzx edx, bl
push edx
push str.the_value_of_radio_query_return_status_is__d_n
call fcn.0040ca40
add esp, 8
mov esi, 1
test bl, bl
je 0x4034be
push str.g_RadioStatus__RadioStatus_ON_r_n
mov dword [0x436c7c], esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x436c50], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
push str.g_RadioStatus__RadioStatus_OFF_r_n
mov dword [0x436c7c], 2
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [0x436c50], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
cmp al, 3
jne 0x403549
push 0x100
push esi
push 0x436970
call fcn.0041d650
movzx esi, byte [ebp - 0x439]
add esp, 0xc
lea eax, [esi - 3]
push eax
add ebx, 0x39
push ebx
push 0x436971
mov byte [0x436970], 2
call fcn.0041d2e0
add esp, 0xc
add esi, 0xfffffffe
push str.recevied_general_data_r_n
mov dword [0x436a70], esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
cmp al, 5
jne 0x4035a8
push 0x100
push esi
push 0x436868
call fcn.0041d650
movzx esi, byte [ebp - 0x439]
add esp, 0xc
lea ecx, [esi - 3]
push ecx
add ebx, 0x39
push ebx
push 0x436869
mov byte [0x436868], 4
call fcn.0041d2e0
add esp, 0xc
add esi, 0xfffffffe
push str.recevied_EIR_data_r_n
mov dword [0x43696c], esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
cmp al, 7
jne 0x403607
push 0x100
push esi
push 0x436a78
call fcn.0041d650
movzx esi, byte [ebp - 0x439]
add esp, 0xc
lea edx, [esi - 3]
push edx
add ebx, 0x39
push ebx
push 0x436a79
mov byte [0x436a78], 6
call fcn.0041d2e0
add esp, 0xc
add esi, 0xfffffffe
push str.recevied_local_name_r_n
mov dword [0x436b78], esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
test al, al
jne 0x403854
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.Unlocked_radio_operator____r_n
call ebx
mov dword [0x436968], esi
call fcn.00414c50
test eax, eax
je 0x403635
call fcn.0040d440
jmp 0x4036b9
push 0x200
lea eax, [ebp - 0x228]
push esi
push eax
mov dword [ebp - 0x444], esi
mov dword [ebp - 0x440], esi
call fcn.0041d650
xor eax, eax
add esp, 0xc
lea edi, [ebp - 0x444]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
call fcn.00414b60
test eax, eax
je 0x4036b9
mov edi, dword [ebp - 0x444]
push esi
lea ecx, [ebp - 0x440]
push ecx
push 0x20
lea edx, [ebp - 0x24]
push edx
push 0x200
lea eax, [ebp - 0x228]
push eax
push 0x9c402644
push edi
mov byte [ebp - 0x228], 6
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00401470
test eax, eax
je 0x403738
lea ecx, [ebp - 0x448]
push ecx
push 0x20006
push esi
lea edx, [ebp - 0x438]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x403721
mov ecx, dword [ebp - 0x448]
push 4
lea eax, [ebp - 0x440]
push eax
push 4
push esi
push str.SwitchRadio
push ecx
mov dword [ebp - 0x440], 2
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edx, dword [ebp - 0x448]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.In_condition__commandID__HCI_SUBCMD_RADIO_OFF__radio_on_off_status_updated_r_n
call ebx
call fcn.00401540
cmp eax, 1
je 0x403738
push str.WM_TURN_RADIO_OFF
call fcn.00401610
add esp, 4
mov eax, dword [0x436a74]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor ebx, ebx
call fcn.0040cc60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041558a
mov esp, ebp
pop ebp
ret
push 0x206
lea edx, [ebp - 0x22e]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0x230], cx
call fcn.0041d650
add esp, 0xc
cmp dword [ebx + 0x37], 0x99999999
jne 0x4037ac
movzx eax, byte [ebx + 0x43]
movzx ecx, byte [ebx + 0x40]
movzx edx, byte [ebx + 0x41]
push eax
movzx eax, byte [ebx + 0x42]
push ecx
push edx
push eax
push str._d._d._d._d
lea edx, [ebp - 0x230]
call fcn.004057b0
add esp, 0x14
jmp 0x4037d7
mov ecx, dword [ebx + 0x3b]
movzx edx, byte [ebx + 0x37]
movzx eax, byte [ebx + 0x38]
push ecx
movzx ecx, byte [ebx + 0x39]
push edx
movzx edx, byte [ebx + 0x3a]
push eax
push ecx
push edx
push str._d._d._d._d._d
lea edx, [ebp - 0x230]
call fcn.004057b0
add esp, 0x18
lea eax, [ebp - 0x230]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4037e0
sub eax, edx
lea ecx, [ebp - 0x44c]
push ecx
lea edx, [ebp - 0x444]
push edx
push esi
push 0xf003f
push esi
push esi
push esi
sar eax, 1
push str.SoftwareAtherosVistaAddOn
lea eax, [eax + eax + 2]
push 0x80000002
mov dword [ebp - 0x440], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x403854
mov eax, dword [ebp - 0x440]
mov edx, dword [ebp - 0x444]
push eax
lea ecx, [ebp - 0x230]
push ecx
push 1
push esi
push str.Firmware
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x444]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041558a
mov esp, ebp
pop ebp
ret