Function at 0x14001dc38
Capabilities:
Get geographical location

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1060
call fcn.140022fa0
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x140059d90]
xor rax, rsp
mov qword [rsp + 0x1050], rax
mov r14d, r9d
mov rbx, r8
mov r12, rdx
mov rsi, rcx
mov r15, qword [rsp + 0x10c0]
mov r13, qword [rsp + 0x10c8]
mov rax, qword [rsp + 0x10d0]
mov qword [rsp + 0x40], rax
xor dil, dil
mov rcx, r8
call fcn.1400237cc
test rax, rax
je 0x14001df89
mov rcx, r12
call fcn.1400237cc
test rax, rax
je 0x14001df89
lea rdx, str.GRAPHICSOPTIONS
mov rcx, rbx
call fcn.1400237e8
test eax, eax
jne 0x14001dcef
mov qword [rsp + 0x28], r12
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, r14d
mov r8, r13
mov rdx, r15
mov rcx, rsi
call fcn.14001a124
jmp 0x14001dd5a
lea rdx, [0x1400477f8]
mov rcx, r12
call fcn.1400237e8
test eax, eax
jne 0x14001dd27
inc dword [r13]
and qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0xc00
mov edx, dword [r13]
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_InsertMenuA]
jmp 0x14001df89
lea rdx, [0x140047208]
mov rcx, rbx
call fcn.1400237e8
test eax, eax
jne 0x14001dd62
mov qword [rsp + 0x28], r12
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, r14d
mov r8, r13
mov rdx, r15
mov rcx, rsi
call fcn.14001dbd0
mov dil, 1
jmp 0x14001df89
lea rdx, str.None
mov rcx, rbx
call fcn.140042760
test eax, eax
je 0x14001df89
lea rdx, str.None
mov rcx, r12
call fcn.140042760
test eax, eax
je 0x14001df89
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14000fef8
nop
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14001ddd4
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001ddd4
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov edx, eax
mov rcx, qword [rbx]
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov rdi, rax
test rax, rax
jne 0x14001ddd6
mov ecx, 0x8007000e
call fcn.14001f810
int3
xor edi, edi
mov eax, dword [r15]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.140015f28
mov qword [rax], rdi
mov r9d, dword [r15]
inc dword [r13]
inc dword [r15]
mov qword [rsp + 0x20], r12
mov r15d, 0x400
mov r8d, r15d
mov edx, dword [r13]
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_InsertMenuW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r12, rax
xor eax, eax
test r12, r12
je 0x14001de32
lea edx, [rax + 0x58]
mov rcx, r12
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, 0x90
lea r14d, [rdi - 0x30]
cmp eax, edi
jle 0x14001de45
lea edi, [r14 + 0x60]
jmp 0x14001de57
mov ecx, 0x78
cmp eax, ecx
jg 0x14001de57
mov edi, r14d
cmp eax, r14d
cmovg edi, ecx
cmp dword [rsi + 0x2758], 0
jne 0x14001df15
mov r9d, 0x1f4
lea r8, [rsp + 0x50]
mov edx, 0x1001
lea rcx, str._x_sys_default_locale
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jle 0x14001df15
lea rdx, [rsp + 0x50]
lea rcx, str.Arabic
call fcn.1400237e8
test eax, eax
je 0x14001dee3
lea rdx, [rsp + 0x50]
lea rcx, str.Hebrew
call fcn.1400237e8
test eax, eax
je 0x14001dee3
sub edi, r14d
je 0x14001dedc
sub edi, 0x18
je 0x14001ded5
sub edi, 0x18
je 0x14001dece
sub edi, 0x30
jne 0x14001df15
mov edx, 0x24fc
jmp 0x14001df03
mov edx, 0x24fb
jmp 0x14001df03
mov edx, 0x24fa
jmp 0x14001df03
mov edx, 0x24f9
jmp 0x14001df03
sub edi, r14d
je 0x14001defe
sub edi, 0x18
je 0x14001defe
sub edi, 0x18
je 0x14001def7
sub edi, 0x30
jne 0x14001df15
mov edx, 0x24fd
jmp 0x14001df03
mov edx, 0x24fe
mov r8, qword [0x14005c858]
xor ecx, ecx
call sub.hccutils.DLL_LoadBITMAP
mov qword [rsi + 8], rax
mov r9, qword [rsi + 8]
test r9, r9
je 0x14001df34
mov qword [rsp + 0x20], r9
mov r8d, r15d
mov edx, dword [r13]
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_SetMenuItemBitmaps]
nop
test r12, r12
je 0x14001df45
mov rdx, r12
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
nop
jmp 0x14001df4c
mov dil, 1
test rbx, rbx
je 0x14001df89
or eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
dec eax
jne 0x14001df89
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001df73
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14001df81
call fcn.14002098c
mov rcx, rbx
call fcn.140020508
mov al, dil
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.140021570
add rsp, 0x1060
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret