Function at 0x100784e5
Capabilities:
Get geographical location

Disassembly:
push 0x58
mov eax, 0x10035219
call fcn.1002c45a
mov dword [ebp - 0x64], edx
mov esi, ecx
or eax, 0xffffffff
lea edi, [ebp - 0x38]
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov ebx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ecx
mov word [ebp - 0x14], cx
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x48]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, 0x100a7388
push edi
call fcn.10037ec3
xor eax, eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
call fcn.10037ec3
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.10037ec3
push 2
xor edx, edx
mov dword [ebp - 0x54], edx
pop eax
mov byte [ebp - 4], al
test esi, esi
je 0x100788df
mov ecx, esi
call fcn.1003a500
push eax
push esi
lea ecx, [ebp - 0x48]
call fcn.1003a440
mov esi, dword [ebp - 0x48]
cmp dword [esi - 0xc], ebx
je 0x100788e2
push ebx
push ebx
push 0x1f
push dword [0x100a7410]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov edi, eax
test edi, edi
jne 0x100785ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0x100785a8
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x100788e2
xor ecx, ecx
mov eax, edi
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1002b748
mov ebx, eax
mov dword [ebp - 0x60], ebx
pop ecx
test ebx, ebx
jne 0x100785d8
mov ebx, 0x8007000e
jmp 0x100788e2
lea eax, [edi + edi]
push eax
push 0
push ebx
call fcn.1002e3fd
add esp, 0xc
push edi
push ebx
push 0x1f
push dword [0x100a7410]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov edi, eax
test edi, edi
jne 0x1007861a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
jle 0x10078614
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x100788d4
lea eax, [edi - 1]
push eax
push 0x20
lea ecx, [ebp - 0x48]
call fcn.10078a6b
mov edi, eax
test edi, edi
jns 0x10078638
mov ebx, 0x80004005
jmp 0x100788d4
lea eax, [ebp - 0x58]
xor edx, edx
push eax
push edi
mov ecx, esi
call fcn.100760d7
mov ebx, eax
test ebx, ebx
js 0x100788d4
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
push dword [esi - 0xc]
lea edx, [edi + 1]
call fcn.100760d7
mov ebx, eax
test ebx, ebx
js 0x100788d4
mov ebx, dword [ebp - 0x60]
mov ecx, ebx
call fcn.1003a500
push eax
push ebx
lea ecx, [ebp - 0x3c]
call fcn.1003a440
lea ecx, [ebp - 0x3c]
call fcn.10079405
lea ecx, [ebp - 0x3c]
call fcn.10060884
mov ecx, eax
call fcn.10060820
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x50], edi
cmp dword [eax - 0xc], ebx
jle 0x1007875f
push edi
lea ecx, [ebp - 0x3c]
call fcn.10077044
movzx esi, ax
mov eax, esi
cmp eax, 0x20
je 0x1007874c
push 0x64
pop ecx
cmp eax, ecx
je 0x10078857
push 0x6d
pop ecx
cmp eax, ecx
je 0x1007882b
push 0x79
pop ecx
cmp eax, ecx
je 0x10078726
cmp word [ebp - 0x18], 0
mov eax, dword [ebp - 0x44]
jne 0x1007871d
mov word [ebp + eax*2 - 0x18], si
lea ecx, [edi + 1]
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
cmp ecx, dword [eax - 0xc]
jge 0x1007871a
push ecx
lea ecx, [ebp - 0x3c]
call fcn.10077044
cmp ax, si
mov eax, dword [ebp - 0x44]
jne 0x1007871d
mov word [ebp + eax*2 - 0x18], si
inc eax
mov dword [ebp - 0x44], eax
jmp 0x1007871d
mov eax, dword [ebp - 0x44]
dec edi
add edi, eax
inc ebx
mov dword [ebp - 0x40], ebx
jmp 0x1007874c
mov dword [ebp - 0x28], ebx
lea ebx, [edi + 1]
jmp 0x10078741
push ebx
lea ecx, [ebp - 0x3c]
call fcn.10077044
push 0x79
pop ecx
cmp ax, cx
jne 0x10078749
inc edi
inc ebx
mov eax, dword [ebp - 0x3c]
cmp ebx, dword [eax - 0xc]
jl 0x1007872e
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x50], edi
cmp edi, dword [eax - 0xc]
jl 0x100786ac
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x58]
mov ecx, edi
call fcn.1003a500
push eax
push edi
lea ecx, [ebp - 0x4c]
call fcn.1003a440
lea ecx, [ebp - 0x4c]
call fcn.10079405
mov ecx, eax
call fcn.10060884
mov ecx, eax
call fcn.10060820
xor ecx, ecx
lea ebx, [ebp - 0x38]
mov dword [ebp - 0x50], ecx
mov edx, ecx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x4c]
cmp edx, dword [eax - 0xc]
jge 0x100787d9
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x4c]
call fcn.10078aa2
mov ecx, dword [ebp - 0x4c]
mov edi, eax
test edi, edi
jns 0x100787b7
mov edi, dword [ecx - 0xc]
mov edx, dword [ebp - 0x54]
push ebx
push edi
call fcn.100760d7
mov ebx, eax
test ebx, ebx
js 0x100788d4
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
add edx, edi
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
inc ecx
add ebx, 4
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x40], ebx
cmp ecx, 4
jb 0x10078796
mov esi, dword [ebp - 0x64]
xor edi, edi
mov eax, dword [ebp + edi*4 - 0x28]
cmp eax, 0xffffffff
je 0x100788bb
push dword [ebp + eax*4 - 0x38]
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov ecx, edi
sub ecx, 0
je 0x100788a6
sub ecx, 1
je 0x100788a0
sub ecx, 1
jne 0x100788bb
mov word [esi + 6], ax
jmp 0x100788bb
mov dword [ebp - 0x24], ebx
lea ebx, [edi + 1]
jmp 0x1007884a
push ebx
lea ecx, [ebp - 0x3c]
call fcn.10077044
push 0x6d
pop ecx
cmp ax, cx
jne 0x10078749
inc edi
inc ebx
mov eax, dword [ebp - 0x3c]
cmp ebx, dword [eax - 0xc]
jl 0x10078833
jmp 0x10078749
mov eax, dword [ebp - 0x3c]
lea ebx, [edi + 1]
xor esi, esi
inc esi
cmp ebx, dword [eax - 0xc]
jge 0x10078892
push 0x64
pop edi
push ebx
lea ecx, [ebp - 0x3c]
call fcn.10077044
cmp ax, di
jne 0x10078880
mov eax, dword [ebp - 0x3c]
inc esi
inc ebx
cmp ebx, dword [eax - 0xc]
jl 0x10078868
mov edi, dword [ebp - 0x50]
push 2
pop eax
cmp esi, eax
jle 0x10078892
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], ebx
jmp 0x10078898
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x20], ebx
dec edi
add edi, esi
jmp 0x1007874c
mov word [esi + 2], ax
jmp 0x100788bb
movzx eax, ax
mov ecx, 0x7d0
mov word [esi], ax
cmp ax, cx
jae 0x100788bb
add eax, ecx
mov word [esi], ax
inc edi
cmp edi, 4
jb 0x100787ed
mov ecx, dword [ebp - 0x5c]
mov edx, esi
call fcn.10079684
mov esi, dword [ebp - 0x48]
mov ebx, eax
push dword [ebp - 0x60]
call sub.msvcrt.dll_free
pop ecx
jmp 0x100788e2
mov esi, dword [ebp - 0x48]
xor edi, edi
mov eax, dword [ebp + edi*4 - 0x38]
test eax, eax
je 0x10078905
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
test eax, eax
je 0x10078905
and dword [ebp + edi*4 - 0x38], 0
inc edi
cmp edi, 4
jb 0x100788e4
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x10078922
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x10078939
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x4c]
lea ecx, [ecx - 0x10]
call fcn.10039da9
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.10039da9
lea ecx, [esi - 0x10]
call fcn.10039da9
mov eax, ebx
call fcn.1002c409
ret