Function at 0x10013eb0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10063dae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [esp + 0x28], edx
mov esi, ecx
je 0x100141a8
xor edi, edi
cmp byte [ebp + 0xc], 0
je 0x10013f0a
mov dword [esi], edi
cmp dword [esi], 3
jge 0x100142b4
mov edx, dword [ebp + 0x20]
mov ecx, dword [esi]
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
inc dword [esi]
cmp dword [esi], 3
jl 0x10013ef7
jmp 0x100142b4
mov esi, dword [ebp + 0x30]
push edi
push 0x2354
push ecx
mov dword [esp + 0x2c], esi
call fcn.10013233
mov al, byte [esi]
lea ecx, [esp + 0x3c]
add esp, 0xc
mov byte [esp + 0x13], al
xor ebx, ebx
inc ebx
push ebx
call fcn.10005c0e
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x88], edi
call fcn.10005c0e
mov byte [esp + 0x84], bl
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], 0x6ed55c59
push 2
call fcn.10005c0e
mov byte [esp + 0x84], 2
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], edi
jmp 0x10013f88
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x3c], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10013f78
mov dword [esp + 0x14], edi
jmp 0x10013fa4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x10013f95
push ebx
push edi
push edi
push 0x6baf
push 0x4dbd
lea eax, [esp + 0x28]
mov edx, 0x7e57
push eax
push 0x236a
push 0x5b1b
lea ecx, [esp + 0x74]
call fcn.10014ccb
push 0x30ba
lea eax, [esp + 0x38]
mov dl, bl
push eax
push 0x73fa
push 0x4036
push 0x595b
push ebx
push 0x4acb
push 0x5b6b
push edi
push 0x3ebd
push 0x7eb0
push 0x16f
push 0x4e84
push 0x227c
push 0x7fe
push 0x74ec
lea ecx, [esp + 0xa8]
call fcn.100163ce
mov ecx, dword [esp + 0x90]
add esp, 0x60
mov dword [ecx], edi
mov eax, dword [ecx]
xor edx, edx
mov dword [esp + 0x1c], 0x8112def9
mov dword [esp + 0x18], 0xddac0faa
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
push 0xfffffffffffffffb
mov eax, dword [esp + eax*4 + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
pop eax
sub eax, ecx
cmp eax, ecx
mov eax, dword [esp + 0x18]
setl dl
imul eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x54]
setge cl
mov dword [eax], ecx
mov ecx, 0xfff6
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x3c]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [esp + 0x2c], eax
jne 0x100140c3
mov ecx, edi
cmp dword [esp + 0x1c], edi
je 0x100140c5
mov ecx, ebx
mov eax, dword [esp + 0x48]
mov dword [eax + 4], ecx
xor eax, eax
cmp ecx, 0xfffffffc
setle al
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov eax, dword [esp + eax*4 + 0x3c]
cmp eax, ebx
setl cl
sub ecx, 0xc7127b1a
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
inc dword [ecx]
cmp dword [ecx], 2
jle 0x10014036
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
inc ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
add edx, ecx
xor ecx, ecx
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x18]
cmp edx, eax
sete cl
xor edx, edx
cmp esi, ecx
lea ecx, [esp + 0x48]
sete dl
sub edx, esi
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
imul edx, dword [eax]
mov dword [eax], edx
mov eax, dword [esp + 0x18]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x1c], eax
call fcn.10005c91
lea ecx, [esp + 0x54]
call fcn.10005c91
or dword [esp + 0x84], 0xffffffff
lea ecx, [esp + 0x30]
call fcn.10005c91
push ecx
push edi
push ecx
lea eax, [esp + 0x2c]
push eax
lea edx, [esp + 0x23]
call fcn.10013db9
mov esi, dword [esp + 0x30]
add esp, 0x10
mov dl, 0x95
mov cl, byte [esi]
call fcn.1001dcfd
mov ecx, dword [esp + 0x28]
mov byte [esi], al
mov al, byte [esp + 0x13]
mov byte [ecx], al
jmp 0x100142b4
mov dword [esp + 0x2c], 0x7875
cmp dword [esp + 0x2c], 0x7b86
push 0
pop edi
jle 0x10014259
xor ebx, ebx
mov dword [esp + 0x1c], edi
inc ebx
mov esi, edi
mov dword [esp + 0x28], edi
mov eax, esi
mov dword [esp + 0x24], 0x1774
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0x7e79
or eax, esi
lea ecx, [esp + 0x60]
cdq
push edx
push eax
call fcn.10001a6a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10014204
mov eax, dword [eax]
push eax
call fcn.1004da8c
pop ecx
push edi
push ebx
lea ecx, [esp + 0x68]
call fcn.10006111
mov eax, dword [esp + 0x20]
dec eax
dec dword [esp + 0x18]
mov dword [esp + 0x20], eax
jne 0x100141ec
mov eax, dword [esp + 0x14]
dec eax
dec dword [esp + 0x24]
mov dword [esp + 0x14], eax
jne 0x100141e0
mov esi, dword [esp + 0x28]
inc esi
mov dword [esp + 0x28], esi
cmp esi, 0x2426
jl 0x100141ce
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x2707
jl 0x100141c8
cmp dword [esp + 0x2c], 0x7518
jge 0x1001426e
push str.olexdrl_wbcjsme_tnlxqrd_dwsunyr_mjdgcjbqk_sgbkll_wuhfpasth
call fcn.1004da8c
pop ecx
or dword [esp + 0x84], 0xffffffff
cmp byte [ebp + 0x2c], 0
je 0x1001428c
push 0x1f0a
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
jmp 0x100142b4
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
push dword [eax]
mov eax, dword [ebp + 0x18]
mov edx, dword [edx]
mov ecx, dword [ecx]
push dword [eax]
mov eax, dword [ebp + 0x24]
movzx eax, byte [eax]
push eax
mov eax, dword [ebp + 0x1c]
push dword [eax]
call fcn.100129ba
add esp, 0x10
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret