Function at 0x46ae10
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dbe30
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x51cca4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [0x51f2dc], 0
mov esi, dword [ebp + 8]
je 0x46b1f2
mov eax, dword [esi]
cmp eax, 0x1d
jne 0x46af7d
push dword [esi + 0x10]
lea eax, [esi + 0x20]
mov dword [ebp - 0x14], 0xf
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.004642f0
mov eax, dword [esi + 0x14]
mov dword [ebp - 4], 0
cmp eax, 1
jne 0x46aedf
push str.PdaNet_update_available__click_here_to_download.
lea ecx, [ebp - 0x58]
call fcn.00460690
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.00460d30
lea ecx, [ebp - 0x58]
call fcn.00460af0
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov ecx, dword [0x51f4d4]
cmovae eax, dword [ebp - 0x28]
test ecx, ecx
je 0x46af5f
push 1
push eax
push 0x8066
push ecx
mov dword [0x51f550], 0x8b54
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x46af5f
cmp eax, 2
jne 0x46af39
mov eax, dword [0x51f2e8]
mov dword [0x51f2e8], 0x65
cmp eax, 0x64
jne 0x46af5f
push 0x14
call fcn.004897e6
add esp, 4
mov dword [ebp - 0x60], eax
test eax, eax
je 0x46af2c
push 1
mov ecx, eax
mov dword [eax + 8], 0
mov byte [eax + 0xc], 1
mov dword [eax], vtable.StateChangeThread.0
mov dword [eax + 0x10], 2
call fcn.0046b920
jmp 0x46af5f
xor eax, eax
push 1
mov ecx, eax
call fcn.0046b920
jmp 0x46af5f
cmp eax, 3
mov ecx, 0x51f480
lea eax, [ebp - 0x28]
jne 0x46af4d
push 0x8b55
jmp 0x46af4f
push 0
cmp dword [ebp - 0x14], 0x10
push 1
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0046b7f0
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x46b1f2
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00464490
jmp 0x46b1f2
cmp eax, 0x1e
jne 0x46b095
mov eax, dword [esi + 4]
cmp eax, 2
jne 0x46b076
mov eax, dword [esi + 0x14]
cmp dword [edi + 0x12c], eax
je 0x46afee
push 0
mov dword [edi + 0x12c], eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x5c]
push eax
push 0
push 0x20006
push 0
push 0
push 0
push str.SoftwarePdaNetAndroid
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x46afee
push 4
lea eax, [ebp - 0x60]
push eax
push 4
push 0
push str.PhoneVersion
push dword [ebp - 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esi + 0x18]
push eax
mov dword [edi + 0x130], eax
call fcn.004768f0
movzx ecx, byte [0x51ffe9]
add esp, 4
test al, al
mov edx, 1
mov eax, dword [0x51f2e8]
cmovne ecx, edx
mov dword [0x51f2e8], 0x66
mov byte [0x51ffe9], cl
cmp eax, 0x64
jne 0x46b1f2
push 0x14
call fcn.004897e6
add esp, 4
mov dword [ebp - 0x60], eax
test eax, eax
je 0x46b066
push 1
mov ecx, eax
mov dword [eax + 8], 0
mov byte [eax + 0xc], 1
mov dword [eax], vtable.StateChangeThread.0
mov dword [eax + 0x10], 2
call fcn.0046b920
jmp 0x46b1f2
xor eax, eax
push 1
mov ecx, eax
call fcn.0046b920
jmp 0x46b1f2
cmp eax, 0xa
je 0x46b084
cmp eax, 0xc
jne 0x46b1f2
push dword [0x51f464]
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x46b1f2
cmp eax, 0x1f
jne 0x46b1e6
push dword [esi + 0x10]
lea eax, [esi + 0x20]
mov dword [ebp - 0x2c], 0xf
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.004642f0
mov eax, dword [esi + 4]
mov dword [ebp - 4], 1
cmp eax, 3
jne 0x46b0fe
push 0x4e0600
lea ecx, [ebp - 0x58]
call fcn.00460690
lea eax, [ebp - 0x58]
mov ecx, 0x51fff4
push eax
call fcn.00460d30
lea ecx, [ebp - 0x58]
call fcn.00460af0
lea ecx, [ebp - 0x40]
call fcn.00460af0
jmp 0x46b1f2
cmp eax, 9
jne 0x46b122
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x40]
mov ecx, 0x51fff4
push eax
call fcn.004641c0
lea ecx, [ebp - 0x40]
call fcn.00460af0
jmp 0x46b1f2
cmp eax, 4
jne 0x46b14f
lea ecx, [edi + 0x114]
lea eax, [ebp - 0x40]
cmp ecx, eax
je 0x46b1dc
push 0xffffffffffffffff
push 0
push eax
call fcn.004641c0
lea ecx, [ebp - 0x40]
call fcn.00460af0
jmp 0x46b1f2
cmp eax, 5
je 0x46b1be
cmp eax, 8
je 0x46b1be
cmp eax, 6
jne 0x46b1dc
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x5c]
push 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
push str.SoftwarePdaNetAndroid
lea esi, [ebp - 0x40]
cmovae esi, dword [ebp - 0x40]
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x46b1dc
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
push 1
push 0
push str.data6
push dword [ebp - 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x40]
call fcn.00460af0
jmp 0x46b1f2
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x40]
mov ecx, 0x51f468
push eax
call fcn.004641c0
push dword [0x51f464]
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea ecx, [ebp - 0x40]
call fcn.00460af0
jmp 0x46b1f2
push dword [ebp + 0xc]
push esi
call fcn.004784d0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00489c7b
mov esp, ebp
pop ebp
ret 8