Function at 0x5b0c5c
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x16
push 0
push 0
dec ecx
jne 0x5b0c65
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x29], dl
mov ebx, eax
xor eax, eax
push ebp
push 0x5b149e
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x57a49c]
call fcn.00405150
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x5b1426
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebx + 0x270]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x3b4]
mov dl, 1
mov eax, dword [0x43c9a0]
call fcn.00449b30
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x4397d4]
call fcn.00405150
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
lea eax, [ebp - 0x28]
mov edx, dword [0x5674bc]
call fcn.00409070
lea eax, [ebp - 0x20]
call fcn.00406c7c
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x27c]
call fcn.00586258
mov byte [ebp - 0x51], al
cmp byte [ebp - 0x51], 0
je 0x5b0d29
lea edx, [ebp - 0x28]
mov eax, dword [ebx + 0x27c]
mov eax, dword [eax + 8]
call fcn.00584d84
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x44]
movzx edx, byte [ebp - 0x29]
mov eax, ebx
call fcn.005ac3e8
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov edx, 0x5b14b8
mov eax, dword [ebp - 0xc]
call fcn.0057e304
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp byte [ebp - 0x51], 0
je 0x5b0dd5
mov eax, dword [ebp - 0x28]
call fcn.00408d8c
test eax, eax
jl 0x5b0e2d
inc eax
mov dword [ebp - 0x64], eax
xor esi, esi
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x18]
add dword [ebp - 0x3c], eax
imul eax, dword [ebp - 0x3c], 0x5a0
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x68]
mov eax, dword [0x67d840]
mov eax, dword [eax]
fild dword [eax + 0x44]
fdivp st(1)
call fcn.00404a30
mov edi, eax
mov edx, 0x5b14d8
mov eax, dword [ebp - 0xc]
call fcn.0057e304
lea edx, [ebp - 0x70]
mov eax, edi
call fcn.0041ebe4
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
mov ecx, 0
call fcn.00407734
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
call fcn.0057e304
inc esi
dec dword [ebp - 0x64]
jne 0x5b0d6f
jmp 0x5b0e2d
mov eax, ebx
call fcn.0048e1cc
imul eax, eax, 0x5a0
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x68]
mov eax, dword [0x67d840]
mov eax, dword [eax]
fild dword [eax + 0x44]
fdivp st(1)
call fcn.00404a30
mov edi, eax
mov edx, 0x5b14d8
mov eax, dword [ebp - 0xc]
call fcn.0057e304
lea edx, [ebp - 0x78]
mov eax, edi
call fcn.0041ebe4
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0x74]
mov ecx, 0
call fcn.00407734
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xc]
call fcn.0057e304
cmp byte [ebp - 0x51], 0
je 0x5b0f71
cmp word [ebx + 0x502], 0
je 0x5b0e51
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x504]
call dword [ebx + 0x500]
mov edx, 0x5b14ec
mov eax, dword [ebp - 0xc]
call fcn.0057e304
mov eax, dword [ebp - 0x28]
call fcn.00408d8c
test eax, eax
jl 0x5b0f4a
inc eax
mov dword [ebp - 0x64], eax
xor esi, esi
cmp word [ebx + 0x4da], 0
je 0x5b0e95
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
push eax
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x4dc]
call dword [ebx + 0x4d8]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
call fcn.00581e58
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
movzx eax, byte [eax + 0x30]
mov byte [ebp - 0x5a], al
cmp byte [ebp - 0x5a], 0
je 0x5b0ebe
lea eax, [ebp - 0x59]
call fcn.0048acd0
movzx eax, byte [ebp - 0x59]
sub al, 1
jb 0x5b0ece
je 0x5b0edd
dec al
je 0x5b0eec
jmp 0x5b0ef9
mov edx, 0x5b1504
mov eax, dword [ebp - 0xc]
call fcn.0057e304
jmp 0x5b0ef9
mov edx, 0x5b1514
mov eax, dword [ebp - 0xc]
call fcn.0057e304
jmp 0x5b0ef9
mov edx, 0x5b1524
mov eax, dword [ebp - 0xc]
call fcn.0057e304
push ebp
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0xc]
mov edx, dword [ebx + 0x27c]
mov edx, dword [edx + 0x10]
call fcn.005b0954
pop ecx
mov edx, 0x5b1534
mov eax, dword [ebp - 0xc]
call fcn.0057e304
cmp word [ebx + 0x4ea], 0
je 0x5b0f40
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
push eax
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x4ec]
call dword [ebx + 0x4e8]
inc esi
dec dword [ebp - 0x64]
jne 0x5b0e74
mov edx, 0x5b1548
mov eax, dword [ebp - 0xc]
call fcn.0057e304
cmp word [ebx + 0x50a], 0
je 0x5b0f71
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x50c]
call dword [ebx + 0x508]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x5b11f0
mov edx, dword [ebp - 0x44]
mov eax, ebx
call fcn.005b05f8
test al, al
je 0x5b0fb1
cmp word [ebx + 0x4c2], 0
je 0x5b0fc4
mov eax, dword [ebp - 0x44]
push eax
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x4c4]
call dword [ebx + 0x4c0]
test al, al
jne 0x5b0fc4
xor ecx, ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
call dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
jmp 0x5b11e6
xor esi, esi
jmp 0x5b118b
cmp byte [ebp - 0x51], 0
je 0x5b0ffb
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
call fcn.00446e10
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
movzx eax, byte [eax + 0x44]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
movzx eax, byte [eax + 0x30]
mov byte [ebp - 0x5a], al
jmp 0x5b1013
mov dword [ebp - 0x58], 0xffffffff
movzx eax, byte [ebx + 0x40e]
mov byte [ebp - 0x59], al
movzx eax, byte [ebx + 0x61]
mov byte [ebp - 0x5a], al
cmp byte [ebp - 0x51], 0
je 0x5b1029
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
test byte [eax + 0x3c], 0x80
je 0x5b1184
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x44]
mov eax, ebx
call fcn.005ac7cc
mov edx, 0x5b14ec
mov eax, dword [ebp - 0xc]
call fcn.0057e304
cmp byte [ebp - 0x5a], 0
je 0x5b1055
lea eax, [ebp - 0x59]
call fcn.0048acd0
movzx eax, byte [ebp - 0x59]
dec al
je 0x5b1063
dec al
je 0x5b1072
jmp 0x5b107f
mov edx, 0x5b1514
mov eax, dword [ebp - 0xc]
call fcn.0057e304
jmp 0x5b107f
mov edx, 0x5b1524
mov eax, dword [ebp - 0xc]
call fcn.0057e304
mov edx, dword [ebx + 0x64]
mov eax, dword [ebx + 0x270]
call fcn.00471f80
mov byte [ebx + 0x3f8], 0
mov eax, dword [ebp - 0x58]
push eax
push 0
mov ecx, dword [ebx + 0x270]
mov edx, dword [ebp - 0x44]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x488]
mov eax, dword [ebx + 0x27c]
call fcn.00586238
cmp eax, dword [ebp - 0x58]
jne 0x5b1164
mov edx, dword [ebp - 0x44]
mov eax, ebx
call fcn.005a45c8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
je 0x5b1102
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x20]
call fcn.00406c7c
mov eax, dword [ebp - 0x34]
dec eax
test eax, eax
jl 0x5b1102
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x20]
mov edx, 0x5b155c
call fcn.00407478
dec dword [ebp - 0x64]
jne 0x5b10f0
cmp dword [ebp - 0x34], 0
jle 0x5b1142
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.0057e304
mov edx, 0x5b1570
mov eax, dword [ebp - 0xc]
call fcn.0057e304
push ebp
mov eax, dword [ebx + 0x270]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x24]
call fcn.005b0954
pop ecx
mov edx, 0x5b1534
mov eax, dword [ebp - 0xc]
call fcn.0057e304
jmp 0x5b1184
push ebp
mov eax, dword [ebx + 0x270]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x24]
call fcn.005b0954
pop ecx
mov edx, 0x5b1534
mov eax, dword [ebp - 0xc]
call fcn.0057e304
jmp 0x5b1184
push ebp
mov eax, dword [ebx + 0x270]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x24]
call fcn.005b0954
pop ecx
mov edx, 0x5b1534
mov eax, dword [ebp - 0xc]
call fcn.0057e304
cmp byte [ebp - 0x51], 0
je 0x5b11a5
inc esi
cmp byte [ebp - 0x51], 0
je 0x5b0fcb
mov eax, dword [ebp - 0x28]
call fcn.00408d84
cmp esi, eax
jl 0x5b0fcb
mov edx, 0x5b1548
mov eax, dword [ebp - 0xc]
call fcn.0057e304
mov eax, dword [ebp - 0xc]
call fcn.0057e384
cmp word [ebx + 0x4d2], 0
je 0x5b11d8
mov eax, dword [ebp - 0x44]
push eax
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebx + 0x4d4]
call dword [ebx + 0x4d0]
xor ecx, ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
call dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x5b0f81
mov edx, 0x5b1580
mov eax, dword [ebp - 0xc]
call fcn.0057e304
lea eax, [ebp - 0x1c]
mov edx, 0x5b1598
call fcn.00407124
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5b1294
inc eax
mov dword [ebp - 0x64], eax
xor esi, esi
lea eax, [ebp - 0x7c]
mov edx, dword [ebp - 0x1c]
call fcn.00407b10
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x90], esi
mov byte [ebp - 0x8c], 0
lea ecx, [ebp - 0x94]
mov edx, esi
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0x11
lea edx, [ebp - 0x90]
mov ecx, 1
mov eax, 0x5b15d8
call fcn.00420210
mov edx, dword [ebp - 0x80]
pop eax
call fcn.00407c4c
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x1c]
mov ecx, 0
call fcn.00407734
inc esi
dec dword [ebp - 0x64]
jne 0x5b121d
lea eax, [ebp - 0x1c]
mov edx, 0x5b15fc
call fcn.00407478
lea eax, [ebp - 0x1c]
mov edx, 0x5b160c
call fcn.00407478
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5b1374
inc eax
mov dword [ebp - 0x64], eax
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x10]
call fcn.00445588
call fcn.0046fcb0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x98]
mov edx, dword [ebp - 0x1c]
call fcn.00407b10
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x3c]
and eax, 0xff
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0xb0], 0
mov eax, dword [ebp - 0x3c]
shr eax, 8
and eax, 0xff
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xa8], 0
mov eax, dword [ebp - 0x3c]
shr eax, 0x10
and eax, 0xff
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xa0], 0
lea edx, [ebp - 0xb4]
mov ecx, 2
mov eax, 0x5b1624
call fcn.00420210
mov edx, dword [ebp - 0x9c]
pop eax
call fcn.00407c4c
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x1c]
mov ecx, 0
call fcn.00407734
inc esi
dec dword [ebp - 0x64]
jne 0x5b12c3
lea eax, [ebp - 0x1c]
mov edx, 0x5b15fc
call fcn.00407478
push 2
lea eax, [ebp - 0x5e]
push eax
push 0xd
push 0x400
call sub.kernel32.dll_GetLocaleInfoW
test eax, eax
je 0x5b13ad
cmp word [ebp - 0x5e], 0x30
jne 0x5b13ad
lea eax, [ebp - 0x1c]
mov edx, 0x5b1660
call fcn.00407478
jmp 0x5b13ba
lea eax, [ebp - 0x1c]
mov edx, 0x5b1688
call fcn.00407478
lea eax, [ebp - 0x1c]
mov edx, 0x5b16b0
call fcn.00407478
push dword [ebp - 0x1c]
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0xc]
call fcn.0057e2e8
push dword [ebp - 0xb8]
push 0x5b15fc
mov eax, dword [ebp - 0x30]
mov edx, 3
call fcn.00407554
mov eax, dword [ebp - 4]
call fcn.00405180
mov eax, dword [ebp - 0x10]
call fcn.00405180
mov edx, dword [ebx + 0x270]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x3c4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b142d
mov eax, dword [ebp - 0xc]
call fcn.00405180
ret