Function at 0x586cb8
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee8
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x118], edx
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x587033
push dword fs:[eax]
mov dword fs:[eax], esp
push 5
lea eax, [ebp - 0xe]
push eax
push 0x59
push 0x400
call sub.kernel32.dll_GetLocaleInfoA_1
cmp eax, 3
sete bl
test bl, bl
je 0x586d14
push 5
lea eax, [ebp - 9]
push eax
push 0x5a
push 0x400
call sub.kernel32.dll_GetLocaleInfoA_1
cmp eax, 3
je 0x586d18
xor eax, eax
jmp 0x586d1a
mov al, 1
mov ebx, eax
test bl, bl
je 0x586d6a
lea eax, [ebp - 0x114]
lea edx, [ebp - 0xe]
call fcn.004035a8
lea edx, [ebp - 0x114]
lea eax, [ebp - 0x14]
call fcn.00404c90
push dword [ebp - 0x14]
push 0x587048
lea eax, [ebp - 0x118]
lea edx, [ebp - 9]
call fcn.00404c24
push dword [ebp - 0x118]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00404dac
jmp 0x587000
call sub.kernel32.dll_GetThreadLocale_1
cmp eax, 0x415
jg 0x586dcd
je 0x586f99
add eax, 0xfffffbfa
cmp eax, 0xe
ja case.0x586d8a.1037
jmp dword [eax*4 + 0x586d91]
cmp eax, 0x814
jg 0x586e1a
je 0x586f8a
cmp eax, 0x809
jg 0x586e09
je 0x586eb5
sub eax, 0x416
je 0x586e7f
sub eax, 3
je 0x586fb7
sub eax, 4
je 0x586fd5
jmp case.0x586d8a.1037
sub eax, 0x80c
je 0x586e6d
sub eax, 7
je 0x586e5b
jmp case.0x586d8a.1037
cmp eax, 0xc0a
jg 0x586e40
je case.0x586d8a.1034
sub eax, 0x816
je 0x586fa8
sub eax, 7
je 0x586fe4
jmp case.0x586d8a.1037
sub eax, 0xc0c
je 0x586efd
sub eax, 0x3fb
je 0x586f21
jmp case.0x586d8a.1037
lea eax, [ebp - 4]
mov edx, 0x587054
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587064
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587074
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587084
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587094
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870a4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870b4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870c4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870d4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870e4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5870f4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587104
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587114
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587124
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587134
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587144
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587154
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587164
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587174
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587184
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x587194
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5871a4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5871b4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5871c4
call fcn.00404acc
jmp 0x587000
lea eax, [ebp - 4]
mov edx, 0x5871d4
call fcn.00404acc
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00404a88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58703a
lea eax, [ebp - 0x118]
call fcn.00404a34
lea eax, [ebp - 0x14]
call fcn.00404a34
lea eax, [ebp - 4]
call fcn.00404a34
ret