Function at 0x1007088
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x1011248]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
and dword [esi], 0
push edi
mov edi, ecx
lea ecx, [ebp - 0x230]
push ecx
push eax
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x230], 0x2f
call fcn.01003b44
push 0x101133c
lea ecx, [ebp - 0x234]
mov ebx, eax
call fcn.010047db
xor eax, eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x23c], eax
mov dword [edi + 0x40], eax
cmp ebx, eax
je 0x10074b4
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x1001b14
push ebx
call fcn.01003b92
test eax, eax
je 0x1007407
push 0x1001b10
push ebx
call fcn.01003b92
test eax, eax
je 0x1007407
push 0x1001afc
push ebx
call fcn.01003b92
test eax, eax
je 0x100727b
push 0x1001af4
push ebx
call fcn.01003b92
test eax, eax
je 0x100727b
push 0x1001aec
push ebx
call fcn.01003b92
test eax, eax
je 0x10071d1
push 0x1001ae8
push ebx
call fcn.01003b92
test eax, eax
je 0x10071d1
push 0x1001ad4
push ebx
call fcn.01003b92
test eax, eax
je 0x10071c2
push 0x1001ad0
push ebx
call fcn.01003b92
test eax, eax
je 0x10071c2
push 0x1001ac4
push ebx
call fcn.01003b92
test eax, eax
je 0x10071b8
push 0x1001ac0
push ebx
call fcn.01003b92
test eax, eax
je 0x10071b8
push 0x1001abc
push ebx
call fcn.01003b92
test eax, eax
jne 0x100748f
call fcn.0100d609
jmp 0x100748f
mov dword [ebp - 0x23c], 1
jmp 0x100748f
lea ecx, [ebp - 0x234]
call fcn.01004b15
push 0x20
push ebx
mov dword [ebp - 0x244], 1
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov ebx, eax
test ebx, ebx
je 0x100748f
push ebx
call esi
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x230]
push eax
push ebx
call fcn.01003b44
test eax, eax
je 0x100721e
push eax
call esi
sub dword [ebp - 0x228], eax
jmp 0x1007224
inc dword [ebp - 0x228]
mov eax, 0x104
cmp dword [ebp - 0x228], eax
jbe 0x1007237
mov dword [ebp - 0x228], eax
push ebx
push dword [ebp - 0x228]
lea eax, [ebp - 0x224]
push eax
call fcn.01004a5f
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea ecx, [ebp - 0x234]
lea eax, [ebp - 0x224]
push eax
call fcn.01006e1c
jmp 0x100748f
xor eax, eax
mov dword [ebp - 0x1c], 0x3a
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
push 5
stosw word es:[edi], ax
lea eax, [ebp - 0x1c]
push eax
push 0x1e
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0x1c]
push eax
call esi
mov dword [ebp - 0x22c], eax
xor eax, eax
mov word [ebp - 0x10], ax
lea edi, [ebp - 0xe]
stosd dword es:[edi], eax
push 0x20
push ebx
stosd dword es:[edi], eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
inc eax
inc eax
mov ebx, eax
push ebx
call esi
mov edi, eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov dword [ebp - 0x228], eax
test eax, eax
je 0x10074a0
push eax
call esi
sub edi, eax
cmp edi, 5
jae 0x10074a0
push ebx
inc edi
push edi
lea eax, [ebp - 0x10]
push eax
call fcn.01004a5f
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov edi, dword [ebp - 0x22c]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x228]
add edi, edi
lea ebx, [edi + eax]
push ebx
call esi
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov dword [ebp - 0x228], eax
test eax, eax
je 0x10074a0
push eax
call esi
mov ecx, dword [ebp - 0x22c]
sub ecx, eax
cmp ecx, 5
jae 0x10074a0
xor eax, eax
push ebx
inc ecx
mov word [ebp - 0x10], ax
push ecx
lea eax, [ebp - 0x10]
push eax
call fcn.01004a5f
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x228]
lea ebx, [edi + eax]
push ebx
call esi
mov edi, eax
lea eax, [ebp - 0x230]
push eax
push ebx
call fcn.01003b44
test eax, eax
je 0x1007396
push eax
call esi
sub edi, eax
cmp edi, 5
jae 0x10074a0
xor eax, eax
push ebx
mov word [ebp - 0x10], ax
inc edi
push edi
lea eax, [ebp - 0x10]
push eax
call fcn.01004a5f
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x2710
jae 0x1007489
cmp dword [ebp - 0x22c], 0x3c
jae 0x1007489
cmp eax, 0x3c
jae 0x1007489
imul ecx, ecx, 0x3c
add ecx, dword [ebp - 0x22c]
imul ecx, ecx, 0x3c
add ecx, eax
mov eax, dword [ebp - 0x238]
imul ecx, ecx, 0x3e8
mov dword [eax + 0x40], ecx
mov edi, eax
jmp 0x100748f
push 0x20
push ebx
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov ebx, eax
test ebx, ebx
je 0x100748f
push ebx
call esi
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x230]
push eax
push ebx
call fcn.01003b44
test eax, eax
je 0x100743b
push eax
call esi
sub dword [ebp - 0x228], eax
jmp 0x1007441
inc dword [ebp - 0x228]
mov eax, 0x104
cmp dword [ebp - 0x228], eax
jbe 0x1007454
mov dword [ebp - 0x228], eax
push ebx
push dword [ebp - 0x228]
lea eax, [ebp - 0x224]
push eax
call fcn.01004a5f
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksW]
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea ecx, [edi + 0x44]
jmp 0x100726a
mov edi, dword [ebp - 0x238]
lea eax, [ebp - 0x230]
push eax
push ebx
call fcn.01003b44
mov ebx, eax
jmp 0x10074a6
mov edi, dword [ebp - 0x238]
test ebx, ebx
jne 0x10070ff
mov esi, dword [ebp - 0x240]
push dword [edi + 0x44]
call fcn.0100af73
test eax, eax
jge 0x10074cd
mov ecx, dword [ebp - 0x234]
mov dword [esi], eax
add ecx, 0xfffffff0
jmp 0x1007509
lea esi, [edi + 0x48]
mov edi, dword [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push dword [ebp - 0x244]
push esi
call fcn.0100ac07
test eax, eax
jl 0x10074fe
cmp dword [esi], 0
je 0x10074fe
lea ecx, [edi - 0x10]
call fcn.0100445c
mov al, 1
jmp 0x1007510
mov ecx, dword [ebp - 0x240]
mov dword [ecx], eax
lea ecx, [edi - 0x10]
call fcn.0100445c
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100e7c7
leave
ret 8