Function at 0x403eae
Capabilities:
Get geographical location

Disassembly:
push 0x14
mov eax, 0x463637
call fcn.0043e9a8
xor ebx, ebx
mov dword [ebp - 0x14], ebx
push 0x17
push ebx
push 0x46bcd8
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.00401ff3
push 0x4872a4
lea ecx, [ebp - 0x18]
call fcn.00401c03
mov ecx, dword [ebp + 8]
push ebx
push ebx
mov byte [ebp - 4], 1
call fcn.00422e84
mov ecx, dword [ebp + 8]
push eax
call fcn.0043a5b6
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push ebx
mov edi, 0xfde9
push edi
call esi
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
call fcn.00402209
push dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
push eax
mov dword [ebp - 0x20], eax
call fcn.00422e84
mov ecx, dword [ebp + 8]
push eax
call fcn.0043a5b6
push eax
push ebx
push edi
call esi
mov edx, dword [ebp - 0x20]
xor ecx, ecx
mov word [edx + eax*2], cx
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call fcn.00401bd9
mov esi, dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push esi
call fcn.00401702
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp ecx, ebx
jne 0x403f66
push 0x80004003
call fcn.0040a9d0
mov byte [ebp - 4], 1
call fcn.0040336e
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push str.HP.Registration
call fcn.00401702
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 3
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 1
call fcn.004032c4
cmp dword [ebp - 0x10], ebx
sete al
cmp al, bl
je 0x403fdd
push str.registration_node_not_found
call fcn.0040859a
mov eax, dword [ebp - 0x10]
pop ecx
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x403fbd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esi - 0x10]
call fcn.004014ff
mov eax, dword [ebp - 0x14]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x403fd6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor al, al
jmp 0x40429a
mov dword [ebp + 8], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push str.FirstName
mov byte [ebp - 4], 5
call fcn.00401702
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 6
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 5
call fcn.004032c4
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00401888
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x404027
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
cmp ecx, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x404077
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp - 0x20]
push eax
call fcn.00403286
mov eax, dword [eax]
mov byte [ebp - 4], 7
cmp eax, ebx
je 0x404057
mov eax, dword [eax]
jmp 0x404059
xor eax, eax
mov esi, dword [ebp + 0xc]
lea ecx, [esi + 8]
push eax
call fcn.00402e96
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 5
cmp ecx, ebx
je 0x404087
call fcn.00402416
jmp 0x404087
mov esi, dword [ebp + 0xc]
push 0x46bc6a
lea ecx, [esi + 8]
call fcn.00402736
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.LastName
call fcn.00401702
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 8
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
mov byte [ebp - 4], 5
call fcn.004032c4
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00401888
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x4040ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
cmp ecx, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x404117
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
call fcn.00403286
mov eax, dword [eax]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x4040fa
mov eax, dword [eax]
jmp 0x4040fc
xor eax, eax
lea ecx, [esi + 0xc]
push eax
call fcn.00402e96
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 5
cmp ecx, ebx
je 0x404124
call fcn.00402416
jmp 0x404124
push 0x46bc6a
lea ecx, [esi + 0xc]
call fcn.00402736
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.Email
call fcn.00401702
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 0xa
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
mov byte [ebp - 4], 5
call fcn.004032c4
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00401888
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x404167
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp + 8]
cmp ecx, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x4041b4
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
call fcn.00403286
mov eax, dword [eax]
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x404197
mov eax, dword [eax]
jmp 0x404199
xor eax, eax
lea ecx, [esi + 4]
push eax
call fcn.00402e96
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 5
cmp ecx, ebx
je 0x4041c1
call fcn.00402416
jmp 0x4041c1
push 0x46bc6a
lea ecx, [esi + 4]
call fcn.00402736
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.Country
call fcn.00401702
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 0xc
cmp ecx, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
mov byte [ebp - 4], 5
call fcn.004032c4
push dword [eax]
lea ecx, [ebp + 8]
call fcn.00401888
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x404204
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp + 8]
cmp edi, ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x404251
cmp edi, ebx
je 0x403f5c
lea eax, [ebp + 0xc]
push eax
mov ecx, edi
call fcn.00403286
mov eax, dword [eax]
mov byte [ebp - 4], 0xd
cmp eax, ebx
je 0x404236
mov eax, dword [eax]
jmp 0x404238
xor eax, eax
push eax
mov ecx, esi
call fcn.00402e96
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x40425d
call fcn.00402416
mov dword [ebp + 0xc], ebx
jmp 0x40425d
push 0x46bc6a
mov ecx, esi
call fcn.00402736
mov byte [ebp - 4], 4
cmp edi, ebx
je 0x40426b
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x40427c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.004014ff
mov eax, dword [ebp - 0x14]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x404298
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov al, 1
call fcn.0043ea80
ret 8