Function at 0x4808d0
Capabilities:
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x2c]
sub esp, 0x2c
push 0xffffffffffffffff
push 0x54c253
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x8870bc]
xor eax, ebp
mov dword [ebp + 0x28], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0x38]
mov esi, dword [ebp + 0x34]
mov dword [ebp + 8], esi
sub eax, 0
je 0x480ae2
sub eax, 1
je 0x480a6b
sub eax, 1
jne 0x480987
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x98], 0x40
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x9c], 0x40
push 0x40
push eax
push 0x1008
push dword [edi]
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x4809f8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x4809b4
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x480987
push eax
call fcn.005260ee
add esp, 4
mov dword [esi + 8], 0x80000000
mov dword [esi], 0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp + 0x28]
xor ecx, ebp
call fcn.00520afb
lea esp, [ebp + 0x2c]
pop ebp
ret 8
mov ecx, 0xff
cmp dword [ebp - 0x9c], ecx
cmovg ecx, dword [ebp - 0x9c]
push ecx
push 0xff
lea ecx, [ebp - 0x9c]
call fcn.00459560
push dword [ebp - 0x98]
push dword [ebp - 0x94]
push 0x1008
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x48096e
push 0xffffffffffffffff
push dword [ebp - 0x94]
lea eax, [ebp + 4]
push eax
call fcn.00457730
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0047a8a0
mov eax, dword [ebp + 4]
mov eax, dword [eax]
test eax, eax
je 0x480a3a
cmp eax, 0xffffffff
je 0x480a49
mov eax, dword [ebp + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
cmp ecx, 1
setne al
test al, al
jne 0x480a49
push 4
push 2
push dword [ebp + 4]
call fcn.004016c0
add esp, 0xc
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x480994
push eax
call fcn.005260ee
add esp, 4
jmp 0x480994
push 0xd
lea eax, [ebp + 0xc]
push eax
push 0x14
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x480987
push 0xffffffffffffffff
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp]
push eax
call fcn.00457730
add esp, 0xc
push eax
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.0047a8a0
mov eax, dword [ebp]
mov eax, dword [eax]
test eax, eax
je 0x480ace
cmp eax, 0xffffffff
je 0x480994
mov eax, dword [ebp]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
cmp ecx, 1
setne al
test al, al
jne 0x480994
push 4
push 2
push dword [ebp]
call fcn.004016c0
add esp, 0xc
jmp 0x480994
push 9
lea eax, [ebp + 0xc]
push eax
push 0x15
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x480987
push 0xffffffffffffffff
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00457730
add esp, 0xc
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.0047a8a0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x480b45
cmp eax, 0xffffffff
je 0x480994
mov eax, dword [ebp + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
cmp ecx, 1
setne al
test al, al
jne 0x480994
push 4
push 2
push dword [ebp + 8]
call fcn.004016c0
add esp, 0xc
jmp 0x480994