Function at 0x10018d4e
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
xor edi, edi
mov byte [ebp - 1], cl
inc edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], 0xd0374c7a
mov dword [ebp - 0x10], 0xcc099a56
mov dword [ebp - 0x14], 0xe3580d4
mov eax, dword [ebp - 0x14]
sub eax, 0x3c8e79b
jne 0x10018d8e
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
add eax, 0x4c20f746
xor esi, esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], esi
jmp 0x10018eb6
mov dword [ebp - 0x20], 0x81de9829
mov ecx, 0xf2bf5804
mov dword [ebp - 0x1c], 0x51fe511b
xor edx, edx
mov dword [ebp - 0x24], 0xf80366e5
mov dword [ebp - 0x18], 0xc705
mov eax, dword [ebp - 0x14]
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], esi
jmp 0x10018ea9
mov dword [ebp - 0x18], esi
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp eax, ecx
setne dl
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x1a69
jle 0x10018e1b
mov ecx, edi
cmp dword [ebp - 0x18], esi
jne 0x10018e1d
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp edx, eax
setl cl
cmp ecx, edi
ja 0x10018e4a
mov eax, edi
cmp dword [ebp - 0x18], esi
jne 0x10018e4c
mov eax, esi
mov ecx, 0xbffaef17
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle bl
xor ecx, ecx
cmp ebx, eax
setle cl
cmp ecx, 0x833e1abb
sbb eax, eax
neg eax
sub eax, 0x3922
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
jge 0x10018df8
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x15
jle 0x10018da6
cmp byte [ebp - 1], 0
je 0x100190a6
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], 0xfffffffe
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x10], 0xfffffffb
jmp 0x10018ff2
mov dword [ebp - 0x18], 0xdfbd6c3f
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x14], esi
jmp 0x10018f00
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10018ef6
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], 0xc502
jle 0x10018f4d
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
cmp eax, 0x94e8fe75
je 0x10018f26
mov eax, esi
cmp dword [ebp - 0x18], esi
je 0x10018f28
mov eax, edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
inc eax
neg eax
sbb eax, eax
inc eax
neg eax
jne 0x10018f3f
mov ecx, esi
cmp dword [ebp - 0x10], esi
je 0x10018f41
mov ecx, edi
mov eax, dword [ebp - 0x18]
imul eax, ecx
mov ecx, edi
test eax, eax
jne 0x10018f4f
mov ecx, esi
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], esi
jmp 0x10018fea
mov dword [ebp - 0x24], 0x8cb5c746
cmp dword [ebp - 8], esi
je 0x10018f89
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
jne 0x10018fa9
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0xc], esi
je 0x10018fb0
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xc]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
sub edx, dword [ebp + eax*4 - 0xc]
je 0x10018fcc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xc]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x10018f76
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
jne 0x10018ee3
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], 0xc77dcda7
mov dword [ebp - 0x1c], 0x3ea3
mov dword [ebp - 0x18], esi
jmp 0x1001902d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001901f
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
push esi
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp ebx, eax
setge cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x100190b4
push 0x411
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret