Function at 0x40c375
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov dword [ebp - 0x87], eax
movzx eax, al
add ecx, 0xb670
mov edx, dword [ebp - 0x119]
test dword [0x57b768], edx
jo 0x40c3bb
mov dword [ebp - 0xf3], edx
add eax, 0xfaf3
mov edx, dword [0x57c266]
mov eax, 0x3300
add dword [ebp - 0x69], edx
xor eax, 0x47a5
add ecx, ecx
mov eax, dword [ebp - 0x14d]
lea ecx, [ebp - 0x17f]
mov ecx, dword [ebp - 0xd2]
movzx ecx, ah
movzx eax, byte [0x57bda7]
mov edx, 0x1356
sub ecx, 0x9dbd
mov eax, edx
mov edx, dword [ebp - 0x156]
mov edx, dword [ebp - 0x93]
mov eax, 0x3305
sub eax, dword [ebp - 0x98]
add edx, eax
mov edx, dword [ebp]
sub dword [0x57c065], edx
mov dword [ebp - 0x49], ecx
lea edx, [ebp - 0x26]
mov edx, dword [ebp]
mov dword [ebp - 0x1b], edx
sub dword [ebp - 0x141], edx
cmp al, ch
je 0x40c424
call fcn.0040f97c
mov eax, dword [ebp - 0x47]
mov dh, ch
mov ecx, dword [ebp - 0x10d]
cmp edx, eax
je 0x40c45f
add dword [ebp - 0xd8], ecx
lea ecx, [ebp - 0x3d]
mov edx, dword [ebp - 0x60]
mov dl, cl
mov eax, eax
mov edx, edx
mov edx, ecx
mov dword [ebp - 0xa5], ecx
call sub.KERNEL32.dll_GetLocaleInfoW
mov ecx, dword [ebp - 0x79]
add dword [ebp - 0x29], eax
mov edx, eax
mov dword [ebp - 0xfb], edx
mov ecx, ecx
mov ecx, dword [ebp - 0x41]
sub ecx, dword [ebp - 0xc4]
xor dword [ebp - 0xa8], eax
add dword [ebp - 0xbe], edx
xor eax, dword [ebp - 2]
mov edx, dword [ebp - 0x136]
sub edx, eax
add edx, dword [ebp - 0x15b]
sub eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x141]
mov dword [ebp - 0x2b], eax
movzx edx, cx
mov edx, eax
sub eax, ecx
movzx edx, byte [0x57b4a9]
mov al, byte [ebp - 0x14e]
mov edx, 0x88a
call fcn.0040ed25
test dword [0x57b2b3], eax
je 0x40c4b7
mov dword [ebp - 0x93], ecx
mov edx, 0x6c51
mov dword [ebp - 0xcc], eax
lea edx, [ebp - 0x95]
mov edx, dword [ebp - 0x7d]
xor edx, 0x9616
mov dword [ebp - 0x189], eax
mov dword [ebp - 0x14b], eax
test ecx, edx
jne 0x40c503
mov edx, eax
sub dword [ebp - 0x16b], eax
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x57b7d1]
mov eax, edx
mov dword [ebp - 0x4a], edx
mov dword [ebp - 0xb2], ecx
mov dword [ebp - 0x12d], eax
movzx edx, byte [ebp - 0xff]
movzx ecx, cl
cmp edx, 0xc31f9457
je 0x40c552
mov edx, eax
sub edx, edx
add al, byte [ebp - 0xf6]
movzx eax, dl
mov eax, ecx
mov edx, edx
sub ecx, dword [ebp - 0x58]
mov edx, edx
mov edx, dword [0x57b5f2]
mov ecx, 0x5ccb
mov eax, dword [ebp - 0x18a]
call fcn.0040c63b
mov ecx, eax
mov dx, cx
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe3], ecx
mov ecx, 0x485a
and ecx, 0x4a8c
add edx, edx
mov edx, edx
mov edx, dword [ebp - 0x8a]
mov ecx, edx
mov eax, ecx
mov eax, ecx
mov eax, ecx
cmp ecx, dword [0x57c238]
jb 0x40c57f
mov eax, eax
cmp ecx, 0x34239a22
jne 0x40c5cf
sub edx, dword [ebp - 0xae]
mov edx, ecx
mov edx, dword [0x57beb8]
and edx, 0x46a8
mov cl, byte [ebp - 0x159]
mov dword [ebp - 0x157], ecx
sub dword [ebp - 0xdb], edx
mov edx, dword [0x57b52a]
cmp ecx, dword [0x57c2fe]
jb 0x40c5bb
mov dword [ebp - 0xc5], eax
mov ecx, dword [ebp - 0x126]
mov ecx, edx
mov ecx, dword [ebp - 0x127]
add edx, 0xa20d
add edx, eax
mov dword [0x57b270], ecx
mov edx, dword [ebp - 0xb2]
lea ecx, [ebp - 0x178]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x39], ecx
mov eax, dword [0x57b8e7]
mov dword [ebp - 0xe1], eax
cmp edx, 0x515152e2
js 0x40c617
mov dword [ebp - 0xd9], ecx
or dword [ebp - 0x152], eax
mov dword [ebp - 0xb8], edx
mov ecx, dword [ebp - 0x13b]
movzx eax, byte [0x57bc2e]
movzx eax, al
sub cl, al
sub ecx, dword [ebp - 0x136]
mov eax, edx
cmp ecx, dword [0x57be1c]
jns 0x40c639
leave
ret