Function at 0x4094b5
Capabilities:
Get geographical location

Disassembly:
push 0x88
mov eax, 0x4273dc
call fcn.00410a3c
mov esi, ecx
mov dword [ebp - 0x94], esi
xor ebx, ebx
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x14], ebx
sub esp, 0xc
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x14]
call fcn.00406564
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x94], esp
push str._xml
call fcn.004066a8
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
push str.ip_api.com
call fcn.004066a8
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], bl
call fcn.00408ab4
mov byte [ebp - 4], 2
lea eax, [ebp - 0x90]
cmp dword [ebp - 0x7c], 8
cmovae eax, dword [ebp - 0x90]
add esp, 0x2c
mov ecx, esp
mov dword [ebp - 0x94], esp
push eax
call fcn.0040117b
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x40974a
mov byte [ebp - 4], 2
call fcn.00401325
or edi, 0xffffffff
cmp ax, di
jne 0x40971b
xor eax, eax
mov dword [ebp - 0x50], ebx
push str.SelectionLanguage
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
call fcn.00406a23
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x38], ebx
push str.XPath
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
call fcn.00406a23
mov byte [ebp - 4], 5
lea eax, [ebp - 0x48]
cmp dword [ebp - 0x34], 8
lea ecx, [ebp - 0x70]
cmovae eax, dword [ebp - 0x48]
push eax
call fcn.0040893f
mov byte [ebp - 4], 6
lea eax, [ebp - 0x70]
cmp dword [ebp - 0x4c], 8
push eax
push ecx
lea eax, [ebp - 0x60]
mov dword [ebp - 0x94], esp
cmovae eax, dword [ebp - 0x60]
mov ecx, esp
push eax
call fcn.0040117b
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x40974a
mov byte [ebp - 4], 6
call fcn.0040137d
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 5
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
mov dword [ebp - 0x20], ebx
push str._query_countryCode
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
call fcn.00406a23
mov byte [ebp - 4], 8
lea eax, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
push ecx
cmovae eax, dword [ebp - 0x30]
mov ecx, esp
mov dword [ebp - 0x94], esp
push eax
mov dword [ebp - 0x18], ebx
call fcn.0040117b
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x40974a
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 8
push eax
call fcn.004012c7
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4096ff
lea eax, [ebp - 0x94]
push eax
call fcn.0040124a
mov byte [ebp - 4], 0xb
mov eax, dword [eax]
test eax, eax
je 0x409686
mov eax, dword [eax]
jmp 0x409688
mov eax, ebx
push eax
lea ecx, [ebp - 0x78]
call fcn.004066a8
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x4096a6
call fcn.004011fa
mov dword [ebp - 0x94], ebx
lea eax, [ebp - 0x78]
mov ecx, esi
push eax
call fcn.00406675
lea ecx, [ebp - 0x78]
call fcn.0040680e
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4096ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x30]
call fcn.0040680e
lea ecx, [ebp - 0x48]
call fcn.0040680e
lea ecx, [ebp - 0x60]
call fcn.0040680e
lea ecx, [ebp - 0x90]
call fcn.0040680e
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x409742
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
jmp 0x409742
lea ecx, [ebp - 0x30]
call fcn.0040680e
lea ecx, [ebp - 0x48]
call fcn.0040680e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
call fcn.0040680e
push 0x438b48
mov ecx, esi
call fcn.004066a8
lea ecx, [ebp - 0x90]
call fcn.0040680e
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409742
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
call fcn.004109e6
ret
push 0x80004003
call fcn.0040fed0
int3