Function at 0x1004accb
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x1007ff1e
call fcn.1007f148
sub esp, 0x58
push ebx
push esi
push edi
mov edi, ecx
push 1
push edi
mov dword [ebp - 0x1c], edi
call fcn.1004619f
pop ecx
pop ecx
push 3
pop esi
mov dword [ebp - 0x14], 0xcf5720e8
lea ecx, [ebp - 0x48]
push esi
call fcn.10016c36
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], 0x752570e
mov dword [ebp - 0x18], ebx
jmp 0x1004ad1e
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0x40552487
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1004ad0e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
jmp 0x1004ae29
push esi
lea ecx, [ebp - 0x3c]
call fcn.10016c36
mov dword [ebp - 0x18], 0x8cb4c23a
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x18], ebx
jmp 0x1004ad5d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [eax + ecx*4], 0x1acc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1004ad4d
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jg 0x1004ae19
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + ecx*4]
add eax, 0x4c20
jne 0x1004ad8b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor eax, eax
mov dword [edi + 8], 0xffff
cmp dword [edx + 4], ebx
mov edx, dword [ebp - 0x18]
setne al
add eax, 0xfffffffb
neg eax
sbb eax, eax
xor ebx, ebx
neg eax
imul ecx, eax, 0x35da
mov eax, dword [ebp - 0x3c]
cmp dword [eax + edx*4], ecx
sete bl
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
sub edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
neg edx
mov eax, dword [ebp - 0x3c]
sbb edx, edx
inc edx
imul ecx, edx
xor edx, edx
cmp dword [eax + esi*4], ecx
setne dl
xor ebx, ebx
mov dword [ebp - 0x24], edx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1004ae03
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
mov edx, dword [ebp - 0x20]
jle 0x1004ad78
mov edi, dword [ebp - 0x1c]
push 3
pop esi
lea ecx, [ebp - 0x3c]
cmp dword [ebp - 0x14], ebx
jne 0x1004ae34
call fcn.10017508
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
je 0x1004ad31
jmp 0x1004ae39
call fcn.10017508
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.10017508
push edi
call fcn.1002e847
mov dword [ebp - 0x20], 0x5c96
mov esi, eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x28], 0xfa6f63ee
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1004ae76
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0x8f8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004ae68
mov dword [ebp - 0x14], ebx
jmp 0x1004ae8f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004ae81
mov eax, dword [ebp - 0x20]
xor edi, edi
inc edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x1004afa2
mov eax, 0x649d9592
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], 0xc214f163
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x20], ebx
jne 0x1004aee2
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1004aee4
mov eax, edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x30]
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x30]
cmp ecx, eax
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x1c]
cmp eax, 0xc84
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x30]
cmp edx, eax
sete cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1004af8f
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1004af8c
push 0x1f06
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1004af75
dec dword [ebp - 0x14]
mov eax, 0x649d9592
jns 0x1004aeaf
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret