Function at 0x104948c
Capabilities:
Get geographical location
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x24c4
call fcn.01047540
mov eax, dword [0x107fa78]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push ebx
push esi
mov esi, ecx
mov ebx, 0x80004005
je 0x10494bf
push eax
lea eax, [esi + 0x14]
push eax
call fcn.010593e7
add esi, 0x14
cmp dword [esi], 0
mov dword [ebp - 0x24c4], esi
je 0x10494d4
xor eax, eax
jmp 0x1049777
push edi
mov edi, 0x105
push edi
lea eax, [ebp - 0x41c]
push eax
call fcn.0105c511
test eax, eax
je 0x1049774
xor ebx, ebx
push 0x100693c
mov dword [ebp - 0x24b4], ebx
mov dword [ebp - 0x24c0], ebx
mov word [ebp - 0x24ac], bx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
cmp esi, ebx
je 0x1049540
push 0x824
lea eax, [ebp - 0x24ac]
push eax
call fcn.010481f8
neg al
sbb eax, eax
neg eax
add eax, 0x1269
push eax
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [ebp - 0x24ac], bx
mov esi, 0x1048
jne 0x1049560
push 0x1006198
push esi
lea eax, [ebp - 0x24ac]
push eax
call fcn.01034cb3
lea eax, [ebp - 0x24c0]
push eax
call fcn.0105895c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
movzx eax, word [ebp - 0x24c0]
push eax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x24ac]
push eax
push 0x10068f0
lea eax, [ebp - 0x1464]
push esi
push eax
call fcn.01034db1
add esp, 0x1c
push 0x10
call dword [sym.imp.KERNEL32.dll_GetUserGeoID]
cmp eax, 0xffffffff
je 0x10495d9
push eax
push 0x10068d8
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.01034d76
add esp, 0x10
test eax, eax
jl 0x10495d9
lea eax, [ebp - 0x210]
push eax
push esi
lea eax, [ebp - 0x1464]
push eax
call fcn.01034d30
lea eax, [ebp - 0x24b4]
push eax
push 0x20019
push ebx
push 0x1002120
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x104971c
lea eax, [ebp - 0x24b8]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x24b0]
push eax
push 0
push 0x10068bc
push dword [ebp - 0x24b4]
xor edi, edi
inc edi
mov dword [ebp - 0x24b0], edi
mov dword [ebp - 0x24b8], 0x20a
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10496a8
cmp dword [ebp - 0x24b0], edi
jne 0x10496a8
mov edi, dword [sym.imp.msvcrt.dll_wcstok]
mov ebx, 0x1002da4
push ebx
lea eax, [ebp - 0x210]
push eax
call edi
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x10496a3
cmp word [esi], 0x2d
jne 0x104966a
inc esi
inc esi
push esi
call dword [sym.imp.msvcrt.dll__wtol]
test eax, eax
pop ecx
jbe 0x104969e
push 0x10068ac
push 0x1048
lea eax, [ebp - 0x1464]
push eax
call fcn.01034d30
push esi
push 0x1048
lea eax, [ebp - 0x1464]
push eax
call fcn.01034d30
push ebx
push 0
jmp 0x1049658
mov esi, 0x1048
and dword [ebp - 0x24bc], 0
push 4
pop edi
lea eax, [ebp - 0x24b8]
push eax
lea eax, [ebp - 0x24bc]
push eax
lea eax, [ebp - 0x24b0]
push eax
push 0
push 0x100689c
push dword [ebp - 0x24b4]
mov dword [ebp - 0x24b0], edi
mov dword [ebp - 0x24b8], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x104970e
cmp dword [ebp - 0x24b0], edi
jne 0x104970e
push dword [ebp - 0x24bc]
lea eax, [ebp - 0x1464]
push eax
push 0x100687c
push esi
push eax
call fcn.01034db1
add esp, 0x14
push dword [ebp - 0x24b4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x104971f
push 4
pop edi
call fcn.0105e7ec
test eax, eax
lea eax, [ebp - 0x1464]
je 0x1049735
push 0x1006854
jmp 0x104973a
push 0x100682c
push esi
push eax
call fcn.01034d30
mov esi, dword [ebp - 0x24c4]
lea eax, [ebp - 0x1464]
push eax
push esi
call fcn.010593e7
mov ebx, eax
test ebx, ebx
jl 0x1049764
push dword [esi]
push 0x1006804
push edi
jmp 0x104976c
push ebx
push 0x10067cc
push 2
call fcn.0105e5ad
add esp, 0xc
mov eax, ebx
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.01047417
leave
ret 4