Function at 0x47e0b8
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x47e0c0
push ecx
push ebx
push esi
push edi
mov byte [ebp - 1], al
mov edi, dword [ebp + 8]
add edi, 0xfffffffc
xor eax, eax
push ebp
push 0x47e40e
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [edi]
mov eax, 0x47e424
call fcn.004054a4
add eax, 2
mov edx, dword [ebp + 8]
mov dword [edx - 8], eax
mov edx, dword [edi]
mov eax, 0x47e430
call fcn.004054a4
inc eax
mov edx, dword [ebp + 8]
mov dword [edx - 0xc], eax
mov edx, dword [edi]
mov eax, 0x47e43c
call fcn.004054a4
mov edx, dword [ebp + 8]
mov dword [edx - 0x10], eax
lea eax, [ebp - 8]
mov edx, 0x47e448
call fcn.00404f1c
cmp byte [ebp - 1], 0
je 0x47e1e2
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 8]
mov edx, dword [edi]
mov ecx, ebx
mov eax, 0x47e454
call fcn.00431e70
mov esi, eax
test esi, esi
je 0x47e19a
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 8]
mov ecx, esi
sub ecx, dword [eax - 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 8]
mov eax, dword [edi]
call fcn.004053c0
mov eax, dword [ebp - 0x28]
call fcn.004095cc
mov ebx, eax
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [0x4bb6d4]
mov eax, dword [eax]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x47e187
cmp eax, dword [esp]
pop edx
pop eax
je 0x47e19a
inc esi
mov eax, dword [ebp + 8]
mov dword [eax - 8], esi
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 8]
jmp 0x47e139
cmp ebx, 0x200
jl 0x47e3d9
push 0x18
lea eax, [ebp - 0x24]
push eax
push 2
push 0x400
call sub.kernel32.dll_GetLocaleInfoA_1
push 0x47e460
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x24]
mov ecx, 0x18
call fcn.004050f4
push dword [ebp - 0x2c]
push 0x47e46c
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405220
mov eax, dword [0x4bb754]
cmp byte [eax], 0
je 0x47e3ab
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x33c]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
inc eax
push eax
mov eax, 0x4bd1f4
mov ecx, 1
mov edx, dword [0x47ccb8]
call fcn.004061f8
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x33c]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [0x4bd1f4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [edi]
call fcn.00405160
mov ecx, eax
mov eax, dword [ebp + 8]
sub ecx, dword [eax - 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x18]
inc edx
mov eax, dword [edi]
call fcn.004053c0
cmp byte [ebp - 1], 0
je 0x47e282
lea edx, [ebp - 0x30]
mov eax, 0x47e478
call fcn.0047727c
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
call fcn.004051ac
jmp 0x47e2c0
lea eax, [ebp - 0x38]
push eax
mov edx, dword [edi]
mov eax, 0x47e48c
call fcn.004054a4
mov ecx, eax
mov eax, dword [ebp + 8]
sub ecx, dword [eax - 8]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 8]
mov eax, dword [edi]
call fcn.004053c0
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0047727c
mov edx, dword [ebp - 0x34]
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
call fcn.004051ac
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x18]
mov eax, dword [ebp + 8]
sub ecx, dword [eax - 0x10]
sub ecx, 2
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x10]
inc edx
mov eax, dword [edi]
call fcn.004053c0
mov eax, dword [0x4bb754]
cmp byte [eax], 0
je 0x47e31b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x33c]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [0x4bd1f4]
lea eax, [edx + eax*8 + 4]
push eax
mov eax, dword [ebp - 0xc]
call fcn.004095cc
shl eax, 0xa
pop edx
mov dword [edx], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
mov eax, dword [ebp + 8]
sub ecx, dword [eax - 0xc]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc]
mov eax, dword [edi]
call fcn.004053c0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x44]
mov ecx, 1
mov eax, 0x47e498
call fcn.004776ec
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 8]
add eax, 0xffffffe4
mov edx, dword [ebp - 8]
call fcn.004051ac
mov eax, dword [0x4bb754]
cmp byte [eax], 0
je 0x47e394
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x33c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [edi]
mov eax, 0x47e4ac
call fcn.004054a4
test eax, eax
mov eax, dword [ebp + 8]
setg byte [eax - 0x1d]
jmp 0x47e3d9
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [edi]
call fcn.00405160
mov ecx, eax
mov eax, dword [ebp + 8]
sub ecx, dword [eax - 0x18]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x18]
inc edx
mov eax, dword [edi]
call fcn.004053c0
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x4bd1ec]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47e415
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.00404ea8
lea eax, [ebp - 0x3c]
mov edx, 6
call fcn.00404ea8
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404ea8
ret