Function at 0x1007a4c2
Capabilities:
Get geographical location

Disassembly:
push 0x6c
mov eax, 0x10037d78
call fcn.1002ceea
mov dword [ebp - 0x78], edx
mov esi, ecx
or eax, 0xffffffff
lea edi, [ebp - 0x44]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x100a93f8
push edi
call fcn.1003a983
xor ebx, ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], ebx
push edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x68], ebx
call fcn.1003a983
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.1003a983
push 2
pop eax
mov byte [ebp - 4], al
test esi, esi
jne 0x1007a53c
mov edi, 0x80070057
jmp 0x1007a9a4
mov ecx, esi
call fcn.1003cfc0
push eax
push esi
lea ecx, [ebp - 0x54]
call fcn.1003cf00
mov esi, dword [ebp - 0x54]
cmp dword [esi - 0xc], ebx
je 0x1007a532
mov ecx, dword [0x100a9494]
test ecx, ecx
je 0x1007a5ce
push 2
lea edx, [ecx + 2]
pop edi
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x1007a565
sub ecx, edx
sar ecx, 1
push 2
pop edx
lea edi, [ecx + 1]
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1002c1d8
mov ebx, eax
mov dword [ebp - 0x50], ebx
pop ecx
test ebx, ebx
jne 0x1007a5a0
mov edi, 0x8007000e
jmp 0x1007a9a2
lea eax, [edi + edi]
push eax
xor eax, eax
push eax
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
mov edx, edi
mov ecx, ebx
push dword [0x100a9494]
call fcn.100529e2
mov edi, eax
test edi, edi
js 0x1007a99b
jmp 0x1007a666
push ebx
push ebx
push 0x1f
push dword [0x100a9498]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov ebx, eax
test ebx, ebx
jne 0x1007a601
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x1007a5fb
movzx edi, di
or edi, 0x80070000
test edi, edi
js 0x1007a9a2
xor ecx, ecx
mov eax, ebx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1002c1d8
mov edi, eax
mov dword [ebp - 0x50], edi
pop ecx
test edi, edi
je 0x1007a596
lea eax, [ebx + ebx]
push eax
xor eax, eax
push eax
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
push edi
push 0x1f
push dword [0x100a9498]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x1007a669
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x1007a660
movzx edi, di
or edi, 0x80070000
test edi, edi
js 0x1007a998
mov edi, dword [ebp - 0x50]
mov ecx, edi
call fcn.1003cfc0
push eax
push edi
lea ecx, [ebp - 0x48]
call fcn.1003cf00
xor eax, eax
push eax
push 0x27
pop ebx
jmp 0x1007a6a5
cmp edi, dword [ecx - 0xc]
jge 0x1007a6b7
push ecx
push edi
lea ecx, [ebp - 0x48]
call fcn.1002f836
cmp edi, eax
jge 0x1007a6a4
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
cmp ax, bx
jne 0x1007a6a4
inc edi
push edi
push ebx
lea ecx, [ebp - 0x48]
call fcn.1007ab32
mov ecx, dword [ebp - 0x48]
mov edi, eax
test edi, edi
jns 0x1007a682
push dword [ecx - 0xc]
lea ecx, [ebp - 0x54]
push 0x20
call fcn.1007ab32
mov ebx, eax
test ebx, ebx
jns 0x1007a6d4
mov edi, 0x80070057
jmp 0x1007a998
lea eax, [ebp - 0x64]
xor edx, edx
push eax
push ebx
mov ecx, esi
call fcn.10078114
mov edi, eax
test edi, edi
js 0x1007a998
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
push dword [esi - 0xc]
lea edx, [ebx + 1]
call fcn.10078114
mov edi, eax
test edi, edi
js 0x1007a998
lea ecx, [ebp - 0x48]
call fcn.1007b387
lea ecx, [ebp - 0x48]
call fcn.10062d34
mov ecx, eax
call fcn.10062cd0
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov ebx, ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x4c], ebx
mov edi, ecx
cmp dword [eax - 0xc], ecx
jle 0x1007a7fb
lea esi, [ebp - 0x24]
mov dword [ebp - 0x5c], esi
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
push 0x64
movzx eax, ax
pop ecx
cmp eax, ecx
je 0x1007a8ba
push 0x6d
pop ecx
cmp eax, ecx
je 0x1007a88e
push 0x79
pop ecx
cmp eax, ecx
je 0x1007a7c5
push 0x6d
pop ebx
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
mov word [esi], ax
push 2
pop eax
add esi, eax
mov eax, dword [ebp - 0x48]
inc edi
cmp edi, dword [eax - 0xc]
jge 0x1007a7b2
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
push 0x79
pop ecx
cmp ax, cx
je 0x1007a7b2
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
cmp ax, bx
je 0x1007a7b2
push edi
lea ecx, [ebp - 0x48]
call fcn.10079021
push 0x64
pop ecx
cmp ax, cx
jne 0x1007a768
mov ebx, dword [ebp - 0x4c]
dec edi
mov esi, dword [ebp - 0x5c]
inc ebx
add esi, 6
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x5c], esi
jmp 0x1007a7eb
mov dword [ebp - 0x34], ebx
lea ebx, [edi + 1]
jmp 0x1007a7e0
push ebx
lea ecx, [ebp - 0x48]
call fcn.10079021
push 0x79
pop ecx
cmp ax, cx
jne 0x1007a7e8
inc edi
inc ebx
mov eax, dword [ebp - 0x48]
cmp ebx, dword [eax - 0xc]
jl 0x1007a7cd
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
inc edi
mov dword [ebp - 0x60], edi
cmp edi, dword [eax - 0xc]
jl 0x1007a73c
mov edi, dword [ebp - 0x64]
mov ecx, edi
call fcn.1003cfc0
push eax
push edi
lea ecx, [ebp - 0x58]
call fcn.1003cf00
lea ecx, [ebp - 0x58]
call fcn.1007b387
mov ecx, eax
call fcn.10062d34
mov ecx, eax
call fcn.10062cd0
mov ecx, dword [ebp - 0x58]
xor eax, eax
mov ebx, eax
mov edi, eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x5c], edx
cmp edi, edx
jge 0x1007a929
mov ebx, eax
lea eax, [ebx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [ebx]
add ebx, 2
cmp ax, word [ebp - 0x70]
jne 0x1007a853
sub ebx, dword [ebp - 0x74]
sar ebx, 1
je 0x1007a90a
push edi
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x58]
call fcn.1007ab69
mov ecx, dword [ebp - 0x58]
mov edx, eax
mov dword [ebp - 0x5c], edx
test edx, edx
jns 0x1007a906
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x5c], edx
jmp 0x1007a90a
mov dword [ebp - 0x30], ebx
lea ebx, [edi + 1]
jmp 0x1007a8ad
push ebx
lea ecx, [ebp - 0x48]
call fcn.10079021
push 0x6d
pop ecx
cmp ax, cx
jne 0x1007a7e8
inc edi
inc ebx
mov eax, dword [ebp - 0x48]
cmp ebx, dword [eax - 0xc]
jl 0x1007a896
jmp 0x1007a7e8
mov eax, dword [ebp - 0x48]
lea ebx, [edi + 1]
xor esi, esi
inc esi
cmp ebx, dword [eax - 0xc]
jge 0x1007a8f5
push 0x64
pop edi
push ebx
lea ecx, [ebp - 0x48]
call fcn.10079021
cmp ax, di
jne 0x1007a8e3
mov eax, dword [ebp - 0x48]
inc esi
inc ebx
cmp ebx, dword [eax - 0xc]
jl 0x1007a8cb
mov edi, dword [ebp - 0x60]
push 2
pop eax
cmp esi, eax
jle 0x1007a8f5
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
jmp 0x1007a8fb
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], ebx
dec esi
add edi, esi
mov esi, dword [ebp - 0x5c]
jmp 0x1007a7eb
add dword [ebp - 0x4c], 6
push dword [ebp - 0x60]
push edx
mov edx, edi
call fcn.10078114
mov edi, eax
test edi, edi
js 0x1007a998
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
add edi, ebx
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x6c]
add dword [ebp - 0x60], 4
inc ebx
mov dword [ebp - 0x6c], ebx
cmp ebx, 4
jb 0x1007a83d
mov esi, dword [ebp - 0x78]
xor ebx, ebx
mov edi, ebx
mov eax, dword [ebp + edi*4 - 0x34]
cmp eax, 0xffffffff
je 0x1007a986
push dword [ebp + eax*4 - 0x44]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, edi
sub ecx, ebx
je 0x1007a971
sub ecx, 1
je 0x1007a96b
sub ecx, 1
jne 0x1007a986
mov word [esi + 6], ax
jmp 0x1007a986
mov word [esi + 2], ax
jmp 0x1007a986
movzx eax, ax
mov ecx, 0x7d0
mov word [esi], ax
cmp ax, cx
jae 0x1007a986
add eax, ecx
mov word [esi], ax
inc edi
cmp edi, 4
jb 0x1007a941
mov ecx, dword [ebp - 0x68]
mov edx, esi
call fcn.1007b3b2
mov edi, eax
mov ebx, dword [ebp - 0x50]
push ebx
call sub.msvcrt.dll_free
pop ecx
xor ebx, ebx
xor esi, esi
mov eax, dword [ebp + ebx*4 - 0x44]
test eax, eax
je 0x1007a9c5
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
je 0x1007a9c5
mov dword [ebp + ebx*4 - 0x44], esi
inc ebx
cmp ebx, 4
jb 0x1007a9a6
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x54]
test eax, eax
je 0x1007a9e8
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1007a9ea
xor ebx, ebx
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x1007aa00
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.1003c869
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.1003c869
lea ecx, [esi - 0x10]
call fcn.1003c869
mov eax, edi
call fcn.1002ce99
ret