Function at 0x1001a596
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x1005ed67
call fcn.1005ddd8
sub esp, 0x110
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
mov byte [ebp - 0x50], cl
je 0x1001abd2
test cl, cl
je 0x1001a5d4
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x1c]
sar ecx, 2
mov dword [eax], ecx
jmp 0x1001ac27
push 0x7c
pop eax
xor ebx, ebx
mov dword [ebp - 0x34], 0x7904f400
push 2
mov word [ebp - 0x30], 0xb95
mov ecx, ebx
mov byte [ebp - 0x2e], 0xd8
mov word [ebp - 0x28], ax
pop esi
cmp esi, 2
jne 0x1001a5ff
push 5
pop ecx
push ecx
pop esi
jmp 0x1001a628
movzx edx, byte [ebp + esi - 0x33]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x36]
movzx ecx, word [ebp + eax*2 - 0x28]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x34]
add ecx, edx
mov word [ebp + eax*2 - 0x28], cx
mov ecx, ebx
add esi, 2
cmp esi, 7
jb 0x1001a5f3
xor eax, eax
mov dword [ebp - 0xd4], 7
mov word [ebp - 0x26], ax
lea ecx, [ebp - 0xe8]
mov word [ebp - 0xe8], ax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0xd8], ebx
call fcn.1001d0db
mov edx, dword [ebp + 0x20]
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x8c]
mov dword [ebp - 4], ebx
call fcn.1001896d
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 2
call fcn.1000f2e8
push 0xfffffffffffffff8
pop esi
mov dword [ebp - 0x28], ebx
xor eax, eax
push ecx
mov dword [ebp - 0x9c], 0xbf90a233
inc eax
push eax
mov dword [ebp - 0x6c], 0xc40ed3c1
mov edx, 0x37a2
mov dword [ebp - 0x70], 0x658a6001
push 0x3025
mov dword [ebp - 0x60], eax
push ecx
mov dword [ebp - 0x68], 0xa3bdf78
push ecx
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x64], 0x5ab1361
mov dword [ebp - 0xa4], ebx
push 0x2f18
call fcn.10018ab5
add esp, 0x18
lea eax, [ebp - 0x94]
lea edx, [ebp - 0x70]
push eax
push ecx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
push ecx
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x60]
call fcn.1001bdbb
mov dword [ebp - 0x18], 0x4a8c6a53
add esp, 0x24
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x80], 0xb7be2d3d
mov dword [ebp + 0xc], 0xfffc
mov dword [ebp + 0xc], ebx
jmp 0x1001a74b
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x104], 0x31bb000e
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 3
jl 0x1001a73a
mov dword [ebp - 0x18], 0xa
jmp 0x1001a831
lea eax, [ebp - 0x24]
mov dword [ebp + 0xc], ebx
push eax
mov dword [ebp - 0x2c], 1
mov ecx, 0x5972
push ebx
call fcn.10018a80
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp + 0xc]
cmp edx, eax
setle cl
cmp ecx, esi
jl 0x1001a812
mov dword [ebp - 0x14], 0x67b47e0f
mov dword [ebp - 0x1c], 0xf1bd53d2
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x80]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jne 0x1001a7e6
mov eax, dword [ebp - 0x24]
push 0xfffffffffffffffa
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0xc]
je 0x1001a7e6
mov edx, ebx
jmp 0x1001a7e9
xor edx, edx
inc edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp + 0xc]
jg 0x1001a805
cmp dword [ebp - 0x14], ebx
je 0x1001a805
xor eax, eax
inc eax
jmp 0x1001a807
mov eax, ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
jmp 0x1001a82e
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1001a82e
push ecx
push ecx
mov dl, 1
call fcn.100198cf
dec dword [ebp - 0x14]
pop ecx
pop ecx
jns 0x1001a81e
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 8
je 0x1001a75d
push 0x20
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x44], 0x2d01b103
mov dword [ebp - 0x40], 0x3020400
mov dword [ebp - 0x3c], 0xbe5f3904
mov byte [ebp - 0x38], 0x68
mov word [ebp - 0x56], ax
pop esi
mov dword [ebp - 0x48], ecx
cmp esi, 8
jne 0x1001a873
push 5
pop ecx
push 0xb
mov dword [ebp - 0x48], ecx
pop esi
jmp 0x1001a8ad
movzx edx, byte [ebp + esi - 0x43]
mov eax, esi
sub eax, ecx
push 0x7469
push 1
movzx eax, byte [ebp + eax - 0x46]
movzx eax, word [ebp + eax*2 - 0x5c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x44]
mov word [ebp + eax*2 - 0x5c], cx
lea ecx, [ebp - 0x48]
call fcn.10018a80
mov ecx, dword [ebp - 0x48]
add esp, 8
add esi, 2
cmp esi, 0xd
jb 0x1001a863
push dword [ebp + 0xc]
movdqa xmm0, xmmword [0x1006c400]
lea ecx, [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x7c], ebx
mov word [ebp - 0x54], ax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x78], ebx
push eax
push ebx
movdqu xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0x74], ebx
call fcn.10013b89
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 3
push eax
push 0x885
push 1
push ebx
mov dword [ebp - 0x20], 0x942a1e94
lea ecx, [ebp - 0x7c]
push 0x5321
mov dl, 1
call fcn.1001b8cb
add esp, 0x14
mov dword [ebp - 0x20], 0xfffffff6
jmp 0x1001a94e
push ebx
sub esp, 0x14
mov ecx, 0x7c3d
call fcn.1001a11d
add esp, 0x14
mov edx, 0x3bd7
push 0x6356
push 1
push 0x1301
push ecx
call fcn.10019b12
add esp, 0x14
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1a
jl 0x1001a920
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.1000e817
xor eax, eax
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
lea ecx, [ebp - 0xd0]
lea eax, [ebp - 0x5c]
mov dword [ebp - 0xc0], ebx
push eax
call fcn.1001d0db
xor eax, eax
mov byte [ebp - 4], 4
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x4c], ebx
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x8c]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x1001a9e2
push 1
lea eax, [ebp - 0x8c]
push eax
push 0x69af
lea eax, [ebp - 0xd0]
push eax
push ecx
lea eax, [ebp - 0x4c]
mov ecx, 0x5a4b
push eax
call fcn.10019e26
mov eax, dword [ebp - 0x4c]
add esp, 0x18
inc eax
mov dword [ebp - 0x4c], eax
cmp eax, esi
jb 0x1001a9b0
mov dword [ebp + 0xc], 0x2695
cmp dword [ebp + 0xc], 0xc9c
jge 0x1001aa23
lea eax, [ebp - 0x98]
push eax
push 0x100685cc
call fcn.10045bcb
mov eax, dword [ebp - 0x98]
and eax, 0x80000001
jns 0x1001aa15
dec eax
or eax, 0xfffffffe
inc eax
push eax
push str._ld_n
call fcn.10045eb3
add esp, 0x10
mov dword [ebp - 0xa0], 0xffffffff
mov dword [ebp - 0x18], 0x47e3
cmp dword [ebp - 0x18], 0x485c
jle 0x1001aa93
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x2c], 0x16d0
mov esi, ebx
mov ebx, dword [ebp + 0xc]
mov eax, ebx
mov ecx, 0x10079158
and eax, esi
and eax, edi
cdq
push edx
push eax
call fcn.1000e4b2
inc esi
cmp esi, 0x12d3
jl 0x1001aa53
dec ebx
dec dword [ebp - 0x2c]
push 0
mov dword [ebp + 0xc], ebx
pop ebx
jne 0x1001aa4e
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x28e4
jl 0x1001aa44
inc edi
cmp edi, 0x74b5
jl 0x1001aa3f
mov dword [ebp - 0x90], 0x8cf1d65f
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 0x453d
jge 0x1001aad7
mov edx, str.jfkqtwnfm_tnxm_iomidnhti_fwsbkqt_lhjn_qvxrkz_dmo_ezvfqbcbe
mov ecx, 0x10079158
call fcn.10012e6f
jmp 0x1001aad7
push 2
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], 4
call fcn.1000e794
push 0x2829
push ecx
push 0x6fd
push 0x1576
push ecx
push ecx
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 7
push eax
push ecx
lea eax, [ebp - 0xb4]
push eax
push 0x52e4
push 0x3294
push ecx
xor cl, cl
call fcn.1001aef8
add esp, 0x30
lea eax, [ebp - 0xb4]
mov edx, 0x4542
mov cl, 1
push eax
sub esp, 0xc
lea eax, [ebp - 0x90]
push 0x5a1
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.10019f6d
add esp, 0x1c
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
call fcn.1000e817
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x8c]
push eax
call fcn.1001cd38
mov dword [ebp + 0xc], 0x3972
cmp dword [ebp + 0xc], 0x3c79
jle 0x1001abb7
push 0x2546
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x10079158
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000e4b2
inc edi
cmp edi, 0x65ec
jl 0x1001ab91
inc esi
cmp esi, 0x6437
jl 0x1001ab8f
push ebx
push 1
lea ecx, [ebp - 0xd0]
call fcn.1000f2e8
lea ecx, [ebp - 0x8c]
call fcn.1001d2ee
jmp 0x1001ac27
cmp byte [ebp + 0x14], 0
je 0x1001ac08
push 0x21
pop edx
lea ecx, [ebp - 0x11c]
call fcn.100148ca
push ecx
push ecx
push eax
mov ecx, esi
mov dword [ebp - 4], 0xa
call fcn.1001d4dd
push 0
push 1
lea ecx, [ebp - 0x11c]
call fcn.1000f2e8
jmp 0x1001ac27
push ecx
mov ecx, dword [ebp + 0x24]
call fcn.10018005
pop ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
push eax
call fcn.1001cf15
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret