Function at 0x589950
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x589958
push ecx
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x589d08
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xa
lea eax, [ebp - 0x18]
push eax
push 0x59
push 0x400
call sub.kernel32.dll_GetLocaleInfoW_1
cmp eax, 3
sete bl
test bl, bl
je 0x5899a5
push 0xa
lea eax, [ebp - 0xe]
push eax
push 0x5a
push 0x400
call sub.kernel32.dll_GetLocaleInfoW_1
cmp eax, 3
je 0x5899a9
xor eax, eax
jmp 0x5899ab
mov al, 1
mov ebx, eax
test bl, bl
je 0x589a35
lea eax, [ebp - 4]
lea edx, [ebp - 0x18]
call fcn.00407c08
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.00407f10
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0041e450
mov eax, dword [ebp - 0x1c]
mov edx, 0x589d24
call fcn.0040821c
jne 0x5899f2
lea eax, [ebp - 4]
mov edx, 0x589d30
call fcn.004075c4
lea eax, [ebp - 0x28]
mov ecx, 0x589d3c
mov edx, dword [ebp - 4]
call fcn.00407c78
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
call fcn.00407f10
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0xe]
call fcn.00407e80
mov edx, dword [ebp - 0x2c]
pop eax
call fcn.0040802c
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 4]
call fcn.00407f24
jmp 0x589ccb
call sub.kernel32.dll_GetThreadLocale
cmp eax, 0x415
jg 0x589a98
je 0x589c64
add eax, 0xfffffbfa
cmp eax, 0xe
ja case.0x589a55.1037
jmp dword [eax*4 + 0x589a5c]
cmp eax, 0x814
jg 0x589ae5
je 0x589c55
cmp eax, 0x809
jg 0x589ad4
je 0x589b80
sub eax, 0x416
je 0x589b4a
sub eax, 3
je 0x589c82
sub eax, 4
je 0x589ca0
jmp case.0x589a55.1037
sub eax, 0x80c
je 0x589b38
sub eax, 7
je 0x589b26
jmp case.0x589a55.1037
cmp eax, 0xc0a
jg 0x589b0b
je case.0x589a55.1034
sub eax, 0x816
je 0x589c73
sub eax, 7
je 0x589caf
jmp case.0x589a55.1037
sub eax, 0xc0c
je 0x589bc8
sub eax, 0x3fb
je 0x589bec
jmp case.0x589a55.1037
lea eax, [ebp - 4]
mov edx, 0x589d44
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589d54
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589d64
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589d74
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589d84
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589d94
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589da4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589db4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589dc4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589dd4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589de4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589df4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e04
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e14
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e24
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e34
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e44
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e54
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e64
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e74
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e84
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589e94
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589ea4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589eb4
call fcn.004075c4
jmp 0x589ccb
lea eax, [ebp - 4]
mov edx, 0x589ec4
call fcn.004075c4
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.0040759c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x589d0f
lea eax, [ebp - 0x2c]
call fcn.00407148
lea eax, [ebp - 0x28]
call fcn.00407190
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.004071a8
lea eax, [ebp - 4]
call fcn.00407190
ret