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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0xb0
mov rax, qword [0x100086110]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov eax, dword [0x100087a58]
xor ebx, ebx
cmp eax, 0xffffffff
je 0x1000740ab
movzx ecx, word [0x100088958]
cmp eax, ebx
cmovne cx, word [0x100088ff8]
jmp 0x1000742a0
mov dword [0x100087a58], ebx
call fcn.1000742d4
mov esi, 1
mov word [0x100088ff8], ax
cmp ax, bx
je 0x100074107
lea r9d, [rsi + 0xf]
lea r8, [rsp + 0x80]
lea edx, [rsi + 0x57]
movzx ecx, ax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
je 0x100074206
mov eax, 0x800
test word [rsp + 0x8e], ax
je 0x100074206
mov eax, esi
mov dword [0x100087a58], eax
jmp 0x10007420c
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, ebx
je 0x100074206
xor eax, eax
lea rdx, [0x100030fa8]
mov r9d, 0x20019
mov qword [rsp + 0x71], rax
mov word [rsp + 0x79], ax
mov byte [rsp + 0x7b], al
lea rax, [rsp + 0x68]
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov byte [rsp + 0x70], bl
mov dword [rsp + 0x60], 0xc
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x100074206
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x7b], bl
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [rsp + 0x70]
lea r11, [rsp + 0x70]
mov ecx, ebx
jmp 0x1000741e2
shl ecx, 4
cmp al, 0x30
jl 0x1000741bc
cmp al, 0x39
jg 0x1000741bc
movsx eax, al
lea ecx, [rcx + rax - 0x30]
jmp 0x1000741dc
cmp al, 0x41
jl 0x1000741cd
cmp al, 0x46
jg 0x1000741cd
movsx eax, al
lea ecx, [rcx + rax - 0x37]
jmp 0x1000741dc
cmp al, 0x61
jl 0x1000741dc
cmp al, 0x66
jg 0x1000741dc
movsx eax, al
lea ecx, [rcx + rax - 0x57]
add r11, rsi
mov al, byte [r11]
cmp al, bl
jne 0x1000741a8
and ecx, 0x3ff
cmp ecx, esi
je 0x1000741f5
cmp ecx, 0xd
jne 0x100074206
mov eax, esi
mov word [0x100088ff8], cx
mov dword [0x100087a58], eax
jmp 0x10007420c
mov eax, dword [0x100087a58]
cmp eax, ebx
jne 0x100074299
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x58], rbx
lea rdx, [0x100030fd0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov rcx, rax
mov rdi, rax
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x10007428f
mov edx, 0xffffffec
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [0x100087a58]
bt eax, 0x16
cmovb ecx, esi
mov dword [0x100087a58], ecx
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [0x100087a58]
cmp eax, ebx
je 0x1000742a7
movzx ecx, word [0x100088ff8]
mov word [0x100088958], cx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.10007fa70
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret