Function at 0x4094fc
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov edx, 0xb0
add edx, 0xffffff8c
mov dword [ebp - 0x64], edx
push ebx
mov ebx, 0x75
push 0x1afdaf00
call fcn.00409069
add esp, 4
push 0xaae21200
push 0xe0f79800
push 0xffffffffffffffe7
call fcn.00408ab0
add esp, 0xc
mov dword [ebp - 0x64], ebx
push esi
mov edx, 0xcb
push ebx
push 0x30
push eax
push 0xffffffffffffffff
push ebx
call fcn.00408b61
add esp, 0x14
push edi
cmp eax, 0x5421
jne 0x409557
mov dword [ebp - 0x64], eax
add eax, 0xffffffa7
push 0xffffffffffffffb4
push ebx
push eax
call fcn.00409274
add esp, 0xc
push str.16179512
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
push 0xffffffffffffff94
push 0xffffffffffffff84
push 0x28361a00
push 0xffffffffffffff9d
call fcn.00407f5c
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
add ebx, ebx
mov esi, dword [ebp - 0x64]
cmp esi, 0xffffffa1
jne 0x4095fc
mov ecx, 0x5a
cmp eax, 0x55c8
je 0x4095fc
cmp ebx, 0xfffffff3
jne 0x4095fc
add ecx, 0x33
mov dword [ebp - 0x30], ebx
mov edi, 0x53
mov dword [ebp - 4], ebx
mov dword [ebp - 4], edi
cmp esi, dword [ebp - 0x74]
je 0x4095fc
mov dword [ebp - 4], ecx
mov ecx, eax
cmp ecx, dword [ebp - 0x64]
jne 0x4095fc
mov dword [ebp - 0x30], ebx
and esi, ebx
mov edi, dword [ebp - 0x64]
mov dword [ebp - 4], eax
mov dword [ebp - 0x64], edi
cmp ecx, dword [ebp - 0x38]
je 0x4095fc
add ecx, ecx
cmp ecx, 0x2252
jne 0x4095fc
mov edi, 0xebf6
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], edi
test eax, 0xa70b
je 0x40967c
sub ebx, esi
cmp esi, 0xffffffcf
jne 0x409617
push 0x70
call fcn.0040935a
add esp, 4
mov dword [ebp - 0x64], ebx
mov ebx, 0x7826
mov dword [ebp - 0x30], ebx
push 0xffffffffffffffe9
push ebx
push eax
push esi
push 0x7b
call fcn.00409069
add esp, 0x14
add ebx, ebx
sub edi, esi
mov dword [ebp - 0x1c], edi
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x70], ebx
cmp edx, dword [ebp - 0x14]
jne 0x40967c
add esi, 0xffffff8b
cmp esi, eax
jne 0x40967c
mov eax, dword [str._x_sys_default_locale]
add esi, edx
cmp edi, dword [str._x_sys_default_locale]
je 0x40967c
mov ecx, dword [str.16179512]
push 0x11
push 0xffffffffffffffe6
push 0xffffffffffffffbc
call fcn.00409069
add esp, 0xc
cmp esi, dword [0x422234]
jne 0x40967c
mov dword [ebp - 0x1c], esi
mov edi, dword [ebp - 0x30]
sub edi, ebx
mov dword [ebp - 0x64], esi
cmp edi, dword [ebp - 0x10]
jne 0x4096b5
push eax
push 0x5841f100
push 0x5c1c6200
call fcn.0040935a
add esp, 0xc
mov ecx, dword [0x42220c]
xor ecx, edi
push 0x22
push 0xe80d7400
push 0x20
call fcn.00408b61
add esp, 0xc
push 0x60827900
push 0xdabd0100
push ebx
call fcn.00408b61
add esp, 0xc
push 0
push 0
push 0x4e
push str._x_sys_default_locale
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x64], edx
mov edi, dword [ebp - 0x64]
cmp edi, dword [str._x_sys_default_locale]
je 0x409739
mov ebx, dword [ebp - 0x1c]
test eax, 0x4a
jne 0x409739
mov esi, dword [ebp - 0x1c]
add ebx, 0x7a
cmp edx, ebx
je 0x409739
push 0x3d
push 0x98691200
push 0xffffffffffffffd8
push 0xffffffffffffffcd
push 0xb8f6e700
call fcn.00408c6b
add esp, 0x14
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], esi
sub ebx, edi
mov dword [ebp - 0x30], ebx
cmp edi, dword [ebp - 0x54]
je 0x409739
cmp eax, ebx
je 0x409739
add eax, eax
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x409739
mov dword [ebp - 0x1c], esi
mov esi, dword [0x42222c]
xor esi, 0x7a
cmp ebx, 0xffffffbe
jne 0x40974a
mov dword [ebp - 0x1c], esi
mov eax, edi
add eax, esi
cmp edi, 0x26
je 0x409758
call fcn.00407f5c
push 0xffffffffffffffc4
push 0xffffffffffffff83
call fcn.00409274
add esp, 8
push eax
push 0x240b3400
push 0xe01e0e00
push 0x7c6eec00
call fcn.00409069
add esp, 0x10
mov edx, 0xed
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x64], edx
push ebx
push edi
call fcn.00408b61
add esp, 8
or eax, edi
mov edi, eax
push 0x67
push 0x38
push 0xffffffffffffffc8
push esi
call fcn.0040828e
add esp, 0x10
mov dword [ebp - 0x1c], edi
xor ebx, esi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ebx
push 0x780b0000
push eax
push edi
push eax
push 0x1814f400
call fcn.00408ab0
add esp, 0x14
mov esi, 0xd2
and esi, ebx
push 0xd4718300
push eax
push 0xffffffffffffff9e
push eax
call fcn.00408c6b
add esp, 0x10
push ebx
push 0x188d6400
push 0x25
push 0xfffffffffffffff4
call fcn.00407f5c
add esp, 0x10
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x64]
push 0xffffffffffffff8f
push 6
push 0xffffffffffffffab
call fcn.00408ebf
add esp, 0xc
and esi, edi
cmp esi, 0xffffffd9
jne 0x409825
mov edx, 0xebd8
cmp esi, eax
je 0x409825
mov dword [ebp - 0x1c], edi
cmp edi, dword [0x42222c]
je 0x409825
mov dword [ebp - 0x64], esi
call fcn.0040935a
cmp esi, edi
je 0x409842
mov edi, dword [ebp - 0x1c]
push 0xa8333200
push esi
push esi
push 0xffffffffffffffda
push 0x48
call fcn.00409069
add esp, 0x14
mov dword [ebp - 0x64], edi
mov edi, dword [ebp - 0x30]
sub edi, 0x98981a00
test edi, 0xc1d5
je 0x409926
mov edx, 0x5be
mov dword [ebp - 0x1c], edi
xor edx, edi
test edi, 0xd5
je 0x409926
mov esi, edx
push 0xffffffffffffffd3
push 0xffffffffffffffca
push 0xffffffffffffffac
push 0xa0f53100
call fcn.00408ebf
add esp, 0x10
cmp esi, 0x7a
je 0x409926
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x30], edx
cmp esi, edx
jne 0x409926
and esi, edx
push 0x7c14f900
push edi
push 0x743dca00
push 0x6c6b5800
call fcn.00407f5c
add esp, 0x10
mov edi, dword [ebp - 0x6c]
cmp esi, 0xe4fb
jne 0x409926
mov ecx, dword [ebp - 0x64]
push ebx
push 0xa08d4900
call fcn.00408b61
add esp, 8
push 0x3454aa00
call fcn.0040935a
add esp, 4
add esi, 0x52
cmp esi, 0xffffff8b
je 0x409926
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], esi
push 0x69
push 0xc8688200
push 0xffffffffffffffd1
push 0xcab5cc00
call fcn.00408b61
add esp, 0x10
add edi, ebx
push 0xffffffffffffffa6
push 0x54170e00
push 0x98c17200
push 0x19
call fcn.00408c6b
add esp, 0x10
cmp esi, dword [ebp - 0x48]
je 0x409926
or edi, 0xe0425000
mov dword [ebp - 0x30], edi
cmp eax, 0x9a3c
jne 0x409941
mov ebx, dword [ebp - 0x30]
add ebx, eax
push 0xffffffffffffffc8
push 0x56
call fcn.00408b61
add esp, 8
mov dword [ebp - 0x6c], ebx
cmp edi, 0xffffffcf
jne 0x409a13
xor edi, esi
mov ebx, dword [ebp - 0x64]
push 0x5e
push 0x2aa73c00
push 0xa0802500
call fcn.00409069
add esp, 0xc
test edi, 0x2c
je 0x409a13
xor ebx, eax
mov ecx, dword [ebp - 0x30]
cmp edi, 0x7dc1
jne 0x409a13
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x64], esi
push 0x6c2a3300
push 0x8c2d2300
push esi
push edx
push 0xe0f0f100
call fcn.00408b61
add esp, 0x14
sub ebx, 0x3f
cmp ebx, dword [ebp - 0x70]
je 0x409a13
cmp edi, eax
je 0x409a13
cmp ebx, dword [str.16179512]
je 0x409a13
call fcn.00408c6b
cmp ebx, edi
je 0x409a13
xor ebx, eax
mov edx, dword [str.16179512]
cmp edi, dword [0x42222c]
je 0x409a13
add ebx, edx
cmp eax, dword [ebp - 0x48]
je 0x409a13
mov esi, eax
push 0xb8cf5100
call fcn.0040935a
add esp, 4
sub ebx, 0xffffffc2
push 0xc832b100
push 0x53
push 0xf
push 0xffffffffffffff99
push ebx
call fcn.00407f5c
add esp, 0x14
push 0x9ab4fd00
push 0x1f
push 0x5f
call fcn.0040828e
add esp, 0xc
mov dword [ebp - 0x1c], esi
mov edi, dword [str.16179512]
mov dword [ebp - 0x30], edi
push esi
call fcn.00407f5c
add esp, 4
mov edi, dword [ebp - 0x30]
push 0xffffffffffffff80
call fcn.00408c6b
add esp, 4
mov dword [ebp - 0x6c], eax
cmp edi, dword [str._x_sys_default_locale]
je 0x409a5f
sub edi, eax
mov esi, dword [ebp - 0x64]
cmp edi, 0xffffffeb
je 0x409a5f
push 0xffffffffffffffa8
push esi
call fcn.00408ebf
add esp, 8
mov ebx, dword [ebp - 0x1c]
call fcn.00408c6b
add ebx, edi
mov dword [ebp - 0x6c], ebx
add esi, 0xffffffd8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x64], edi
cmp eax, edi
je 0x409a86
xor esi, 0x37
mov dword [ebp - 0x6c], eax
mov edi, 0xc972
mov dword [ebp - 0x64], esi
push eax
call fcn.00408c6b
add esp, 4
mov dword [ebp - 0x6c], edi
or edi, eax
mov dword [ebp - 0x6c], edi
lea eax, [ebp - 0x4c]
sub edi, esi
mov esi, 0x7f42
test eax, 0xe6
jne 0x409aa7
xor esi, ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], esi
mov edi, ebx
cmp edi, 0xffffffaf
je 0x409aba
sub edi, 0xffffffbd
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x6c], ecx
push eax
xor esi, ebx
push 0xb426ef00
push 0xfadbc900
push 0xffffffffffffffd5
push ecx
push 0x9aa96c00
call fcn.00409274
add esp, 0x14
mov dword [ebp - 0x30], esi
push 0x98b22b00
mov eax, dword [str.16179512]
xor eax, ebx
push eax
push 0xfffffffffffffffe
call fcn.00409274
add esp, 8
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], ecx
call fcn.00408732
mov ebx, 0x328530
and ebx, eax
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebp - 0x4c]
add ebx, 0x608a1400
mov eax, dword [ebp - 0x30]
cmp edx, 0xfc13
je 0x409b61
mov dword [ebp - 0x30], eax
xor ebx, 0x6c
cmp esi, dword [ebp - 0x38]
jne 0x409b61
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x30], ebx
cmp edx, eax
je 0x409b61
mov eax, 0xa9
sub esi, 0x52
mov dword [ebp - 0x30], esi
cmp edx, 0x27
je 0x409b61
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x40], edx
mov edi, 0xf6
sub eax, ebx
test eax, 0xdf
jne 0x409b61
sub edi, eax
mov esi, 0xb8a84022
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x1c], edi
shr edx, 0x10
xor eax, 0x6f
mov ebx, 0x64516ccc
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], eax
cmp edx, dword [ebp - 0x14]
jne 0x409b88
and ebx, edi
mov edi, 0x56
mov dword [ebp - 0x68], edi
cmp ebx, eax
je 0x409b88
mov dword [ebp - 0x6c], ebx
cmp edx, 0x716a
jne 0x409db6
xor edx, esi
mov ecx, dword [str._x_sys_default_locale]
cmp ebx, dword [ebp - 0x3c]
jne 0x409bb8
test edx, 0xe2
je 0x409bb8
add ecx, 0x58
mov dword [ebp - 0x60], edx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x60], edi
push 0x42220c
push 0x422234
push 0x422250
call fcn.00408f0e
cmp ebx, 0x57
jne 0x409bd4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x24], esi
mov eax, 0x40843b
and edi, eax
mov ebx, dword [ebp - 0x24]
cmp esi, eax
je 0x409d35
cmp ebx, dword [ebp - 0x70]
jne 0x409d35
mov dword [ebp - 0x64], ebx
mov ecx, 0x53
cmp edi, 0xffffffcc
je 0x409d35
mov dword [ebp - 0x64], edi
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], ecx
test ebx, 0x14
je 0x409d35
mov esi, dword [ebp - 0x1c]
sub esi, eax
cmp ebx, 0x339
jne 0x409d35
mov edx, 0x2478
mov dword [ebp - 0x64], edx
xor esi, 2
test esi, 0x6e
je 0x409d35
mov ecx, dword [ebp - 0x30]
cmp ecx, ebx
je 0x409d35
mov dword [ebp - 0x1c], eax
test edi, 0x74
je 0x409d35
and esi, edx
cmp esi, edi
je 0x409d35
cmp ebx, 0xd146
je 0x409d35
mov edi, dword [0x422224]
xor ecx, 0x10401500
mov dword [ebp - 0x30], ecx
cmp esi, dword [ebp - 0xc]
jne 0x409d35
mov edx, 0x7d
xor edi, eax
cmp esi, 0x45
jne 0x409d35
sub esi, ecx
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x44], edx
cmp ecx, 0x50
je 0x409d35
mov edx, dword [ebp - 0x6c]
cmp ecx, 0x50
je 0x409d35
xor edx, edi
mov esi, dword [ebp - 0x6c]
cmp ecx, dword [str._x_sys_default_locale]
je 0x409d35
mov edi, dword [ebp - 0x24]
cmp ecx, dword [ebp - 4]
je 0x409d35
cmp ecx, edx
je 0x409d35
add ebx, 0xffffffc6
mov dword [ebp - 0x1c], ecx
cmp edx, dword [ebp - 0x60]
je 0x409d35
sub ebx, edx
mov ecx, dword [0x422244]
cmp ebx, 0x40
jne 0x409d35
and ebx, ecx
cmp ebx, esi
jne 0x409d35
mov ecx, dword [ebp - 0x44]
sub ecx, edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], ebx
cmp ecx, 0xaaa
jne 0x409d35
sub ecx, 0xffffff8a
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
cmp ecx, edi
jne 0x409d35
mov esi, dword [ebp - 0x28]
sub ecx, edx
cmp ecx, ebx
jne 0x409d35
sub esi, ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x24], edi
cmp esi, dword [str.16179512]
jne 0x409d35
mov edx, dword [ebp - 8]
mov dword [ebp - 0x64], ecx
add esi, edx
mov dword [ebp - 0x6c], esi
push dword [ebp - 0x4c]
push 0x716b37f4
push dword [ebp - 0x20]
call eax
add eax, 0xffffffd1
push ebx
push 0x187f5d00
push 0xfaa50000
call fcn.00409069
add esp, 0xc
add dword [ebp - 0x20], 0x23
add eax, ebx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
call ecx
mov ecx, 0x71
xor esi, 0xffffffb8
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], ecx
or edi, esi
mov edx, ecx
test edi, 0x36
je 0x409db1
add edi, 0
push esi
push eax
push 0xffffffffffffffc9
push eax
push 0x2c
call fcn.00408c6b
add esp, 0x14
push esi
push 0xb8f3fd00
call fcn.00408ab0
add esp, 8
mov ecx, 0x5c
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x64], ecx
call fcn.00408c6b
mov edx, 0xed
and edx, 0x42
push edx
push 0xffffffffffffffa0
push 0xdae90f00
push 0xafcae00
push edi
call fcn.00409069
add esp, 0x14
push 0x77
push 0x98d21100
call fcn.00408c6b
add esp, 8
or eax, esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], edi
test edi, 0xe0102000
jne 0x409e98
mov esi, dword [0x42222c]
xor eax, edi
mov dword [ebp - 0x1c], eax
call fcn.00409069
push ebx
push 0xfa813400
push 0xbac85a00
push 0x60
call fcn.0040828e
add esp, 0x10
push 0xa0fa3e00
call fcn.00408b61
add esp, 4
push 0x5c147000
push 0xa0895c00
call fcn.00407f5c
add esp, 8
call fcn.0040828e
push edi
call fcn.0040935a
add esp, 4
cmp ebx, dword [ebp - 0x18]
je 0x409e98
add ebx, esi
call fcn.00408ab0
cmp ebx, 0x41
jne 0x409e98
xor ebx, 0xffffffad
mov edx, eax
cmp edx, 0x4b
jne 0x409e98
mov eax, ebx
cmp edx, 0x10
jne 0x409e98
mov edi, dword [ebp - 0x1c]
sub edx, eax
push 0xaab2ad00
push edx
push esi
push 0x24
push 0xffffffffffffffb1
call fcn.00409069
add esp, 0x14
cmp ebx, 0xffffff9d
je 0x409e98
and edi, 0xffffff8e
cmp edi, 0x54080021
je 0x409e98
mov esi, edi
mov dword [ebp - 0x24], esi
pop edi
mov dword [ebp - 0x34], edi
pop esi
mov dword [ebp - 0x24], esi
pop ebx
push 0x4a878f00
push 0xffffffffffffffac
call fcn.00408ab0
add esp, 8
leave
ret