Function at 0x409d28
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov edx, dword [str._x_sys_default_locale]
jmp 0x409d4c
push ebx
and eax, 0xffffffd5
mov ecx, 0x3c
jmp 0x409d81
push esi
xor esi, 0x79
test esi, 0xa697
jne 0x409d95
add esi, esi
mov dword [ebp - 0x98], esi
push edi
mov ecx, dword [0x42eaa0]
mov dword [ebp - 0x58], ecx
cmp esi, dword [0x42eaa0]
jne 0x409e94
jmp 0x409e94
push 0
push 0
push 0x81
push str._x_sys_default_locale
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
add eax, eax
mov dword [ebp - 0x58], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xb4]
jne 0x409ec1
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0xc0], eax
test eax, 3
jne 0x409f19
mov esi, dword [ebp - 0x58]
cmp esi, ebx
je 0x409f19
mov eax, dword [0x42ea10]
mov dword [ebp - 0x58], eax
cmp esi, 0xfe2b
je 0x409f19
jmp 0x409f19
push 0xdc
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x58], esi
cmp eax, dword [ebp - 0xc0]
jne 0x40a017
add esi, esi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x58], edi
mov ecx, 0xae
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x58], esi
jmp 0x409fdf
sub eax, edi
mov edx, 0x422120
test eax, 0x8f11
jne 0x40a005
xor eax, 5
mov dword [ebp - 0x58], edx
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xbc], eax
add edx, esi
jmp 0x40a017
xor esi, 0xffffffe9
mov ecx, 0x7d
cmp ebx, 0x39
jne 0x40a03b
mov dword [ebp - 0x12c], esi
sub ecx, eax
mov edx, dword [0x42ea10]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xbc], ecx
add esi, esi
cmp esi, 0xffffffdf
jne 0x40a051
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x58], esi
xor ecx, esi
mov dword [ebp - 0x58], ecx
jmp 0x40a070
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x10], ecx
add ecx, 0x4d
mov esi, 0x49
mov dword [ebp - 0xbc], ecx
jmp 0x40a08e
jmp 0x40a0a9
add edx, edx
mov dword [ebp - 0x58], edx
add edx, 0x45
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
test edx, 0xbb29
je 0x40a0d2
sub edx, 0xffffffc0
cmp edx, dword [ebp - 0x9c]
jne 0x40a0d2
add edx, ebx
mov dword [ebp - 0x12c], edx
jmp 0x40a0e1
mov dword [ebp - 0x10], esi
and esi, 0x46
mov edx, dword [0x42ea10]
mov dword [ebp - 0x58], edx
jmp 0x40a100
cmp esi, 0x2a3d
je 0x40a110
jmp 0x40a110
mov edx, dword [ebp - 0x12c]
cmp edx, 0xffffffab
je 0x40a123
mov esi, edx
mov dword [ebp - 0x12c], esi
sub esi, 0x51
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x12c], edx
jmp 0x40a15a
mov eax, 0xbe8e
cmp ebx, dword [ebp - 0x70]
je 0x40a16a
mov dword [ebp - 0xa4], eax
or eax, 0x31
mov esi, dword [ebp - 0x12c]
jmp 0x40a17b
cmp esi, 0x4004044d
jne 0x40a189
mov dword [ebp - 0x12c], esi
add esi, 0x69
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x12c], edx
jmp 0x40a19d
jmp 0x40a1ac
mov ecx, 0xf8
mov dword [ebp - 0xbc], ecx
lea esi, [ebp - 0x148]
add ecx, 0x72
mov eax, 0x82e8
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x12c], eax
xor ecx, 0xffffffb6
jmp 0x40a1ff
push esi
mov dword [ebp - 0xbc], ecx
push 0xfa58b100
mov eax, 0x38
sub eax, ecx
jmp 0x40a326
jmp 0x40a339
call fcn.0040a5da
mov dword [ebp - 0x138], eax
mov esi, dword [ebp - 0x148]
xor eax, 0xffffffc4
test eax, 0x92
je 0x40a382
xor eax, 0xffffffa1
mov dword [ebp - 0xbc], esi
mov ecx, esi
cmp eax, dword [ebp - 0x4c]
jne 0x40a382
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 0x15c]
jne 0x40a382
sub edx, 0x33
mov dword [ebp - 0x58], eax
jmp 0x40a382
shr esi, 0x10
mov eax, dword [0x42ea64]
mov dword [ebp - 0x6c], eax
cmp esi, 0x70f7
jne 0x40a5ca
xor esi, 0x17
jmp 0x40a3d1
push 0x42ea74
mov ecx, dword [ebp - 0xbc]
jmp 0x40a3e6
push 0x42eaa0
add edx, edx
mov eax, dword [0x42ea10]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xbc], eax
push 0x42eab8
and edx, eax
mov ecx, 0xc3
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x138], ecx
push 0x42ea14
mov dword [ebp - 0x58], ecx
mov ecx, 0x7138652f
xor eax, ecx
mov edx, 0x42
mov dword [ebp - 0x10], eax
jmp 0x40a435
sub ecx, dword [ebp - 0x148]
mov esi, dword [0x42ea70]
cmp ecx, 0x48
je 0x40a454
xor esi, ecx
mov edx, dword [0x42ea68]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x58], esi
call ecx
or esi, eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x158], eax
add eax, esi
cmp eax, esi
je 0x40a479
and eax, esi
mov edx, dword [ebp - 0x6c]
jmp 0x40a479
mov ebx, 0x804191cb
add ecx, ecx
mov esi, 0xa4c0700e
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x3c], esi
sub ebx, 0x8000e4a2
or esi, ebx
mov ecx, dword [ebp - 0x138]
cmp ecx, 0x5f
jne 0x40a4a7
mov dword [ebp - 0xc8], ecx
jmp 0x40a4c0
mov eax, dword [ebp - 0x148]
jmp 0x40a4d6
push eax
mov edx, dword [ebp - 0x138]
cmp edx, 0xffffffaf
jne 0x40a4e8
mov dword [ebp - 0xbc], edx
push 0x70f8a5a1
cmp edx, 0x6336
je 0x40a518
cmp edx, 0x2a
je 0x40a518
add edx, edx
mov esi, dword [0x42ea5c]
jmp 0x40a518
mov edx, dword [ebp - 0x158]
cmp edx, 0xffffffcc
jne 0x40a537
mov esi, dword [ebp - 0x10]
or esi, 0xffffffab
cmp edx, dword [0x42ea68]
je 0x40a537
mov dword [ebp - 0x138], esi
push edx
call fcn.0040ad29
mov dword [ebp - 0x80], esi
mov esi, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x10]
cmp esi, 0xffffffa5
je 0x40a551
mov dword [ebp - 0x10], ecx
add esi, 0x28
sub ecx, 0xffffffa2
mov edx, dword [ebp - 0x12c]
cmp esi, edx
je 0x40a582
mov eax, 0xf9
jmp 0x40a582
call esi
mov edx, dword [ebp - 0x12c]
jmp 0x40a5ac
mov eax, dword [0x42eab4]
jmp 0x40a5be
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0xf0], eax
sub eax, esi
mov ecx, esi
jmp 0x40a600
mov dword [ebp - 0x20], esi
xor esi, 0x48801000
mov edx, dword [ebp - 0x20]
cmp edx, esi
je 0x40a621
add esi, esi
mov dword [ebp - 0x20], edx
mov eax, dword [0x42ea0c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x54], 0x580f2933
sub eax, 0x61
jmp 0x40a633
call fcn.0040aa93
jmp 0x40a672
mov dword [ebp - 0x94], eax
sub ebx, edi
mov dword [ebp - 0x20], ebx
call fcn.0040aa93
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x94]
jne 0x40a755
add ebx, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x94], eax
add eax, 0xffffffb7
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], eax
call fcn.0040aa93
xor esi, edi
mov ecx, dword [ebp - 0x20]
jmp 0x40a6fb
cmp eax, dword [ebp - 0x94]
jne 0x40a755
add edi, edi
mov esi, dword [ebp - 0x20]
cmp esi, dword [0x42ea0c]
je 0x40a715
xor esi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x94], eax
mov ecx, dword [0x42ea00]
add ecx, 0xa00900
mov dword [ebp - 0x20], ecx
call fcn.0040aa93
xor esi, edi
jmp 0x40a73d
cmp eax, dword [ebp - 0x94]
jne 0x40a755
mov ecx, 0xa0
mov dword [ebp - 0xb4], ecx
jmp 0x40a9cc
xor ebx, 0xb
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x88], ebx
mov edx, dword [ebp - 0x54]
test ebx, 0xb2
je 0x40a785
xor ebx, edx
mov edi, 0xc1
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x20], edi
add edx, 0xba4aea00
jmp 0x40a7e2
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x20], edx
push 0x42ea9a
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, dword [ebp - 0x20]
add edi, eax
cmp edi, dword [ebp - 0x70]
jne 0x40a81e
sub edi, 0xffffff94
jmp 0x40a81e
or eax, eax
jne 0x40a9cc
mov esi, dword [ebp - 0x88]
cmp esi, 0xffffff94
je 0x40a839
mov eax, dword [ebp - 0x20]
sub esi, eax
mov dword [ebp - 0x20], esi
push 0x42ea94
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x88], esi
or eax, eax
je 0x40a9cc
sub esi, 0x8010600
mov dword [ebp - 0x18], esi
add dword [ebp - 0x54], 0xc0111100
mov esi, 0x3d37
jmp 0x40a86c
lea edx, [eax + 0xf00]
cmp edx, 0xffffffab
jne 0x40a87d
mov dword [ebp - 0x88], edx
inc edx
jmp 0x40a88e
mov ecx, dword [edx]
mov dword [ebp - 0xbc], ecx
sub ecx, 0xaca37d2b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
jmp 0x40a8cd
cmp ecx, 0xc5b0cbd5
jne 0x40a872
sub esi, 0x6b
mov ebx, dword [ebp - 0xb4]
mov dword [ebp - 0xb4], ebx
jmp 0x40a99f
mov ecx, dword [edx + 4]
mov edi, dword [ebp - 0x20]
cmp edi, dword [0x42ea0c]
je 0x40a9c9
sub edi, 0x1a931d00
mov ebx, edx
mov dword [ebp - 0x88], ebx
jmp 0x40a9c9
sub dword [ebp - 0x54], ecx
xor eax, ecx
mov edi, dword [ebp - 0x18]
test eax, 0x8c
jne 0x40aa03
xor eax, 0x48
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x88], eax
cmp edx, dword [ebp - 0x78]
je 0x40aa03
or edx, 0xffffffb1
jmp 0x40aa03
mov esi, dword [0x42ea24]
add esi, esi
mov dword [ebp - 0xbc], esi
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0xb4]
and edi, ecx
jmp 0x40aa30
mov dword [ecx], eax
add edx, edx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0xb4]
cmp eax, edx
je 0x40aa4f
mov esi, dword [ebp - 0x18]
jmp 0x40aa4f
pop edi
jmp 0x40aa77
pop esi
cmp esi, 0xa5e8
je 0x40aa83
mov dword [ebp - 0x40], esi
pop ebx
mov dword [ebp - 0xbc], ebx
leave
ret 8