Function at 0x10003c444
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xf0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x1000a1108]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rsi, rcx
mov rax, qword [rcx + 0x100]
test rax, rax
jne 0x10003c497
mov eax, 0x80004003
jmp 0x10003c96c
mov ebx, dword [rax + 0x140]
movsxd r8, ebx
xor r9d, r9d
mov edx, 0x102f
mov rcx, qword [rcx + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
setne al
test al, al
jne 0x10003c4c8
mov eax, 0x80004005
jmp 0x10003c96c
xor edi, edi
lea r13d, [rdi + 1]
test ebx, ebx
jle 0x10003c502
xor ebp, ebp
mov r12, rbx
mov r9, r13
mov r8, rbp
mov edx, 0x102c
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
test r13b, al
cmovne edi, r13d
add rbp, r13
sub r12, r13
jne 0x10003c4d7
test edi, edi
jne 0x10003c552
test ebx, ebx
je 0x10003c552
and dword [rsp + 0x60], 0
xor edx, edx
lea r8d, [rdx + 0x54]
lea rcx, [rsp + 0x64]
call sub.msvcrt.dll_memset
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x70], r13d
lea r9, [rsp + 0x60]
xor r8d, r8d
mov edx, 0x102b
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
setne al
test al, al
jne 0x10003c552
mov eax, 0x80004005
jmp 0x10003c96c
movsd xmm6, qword [0x100006bf0]
movsd qword [rsp + 0x48], xmm6
mov rcx, qword [rsi + 0x100]
add rcx, 0xe8
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x20]
test eax, eax
js 0x10003c96c
xor r8d, r8d
lea rdx, [rsi + 0x168]
lea rcx, [rsp + 0x48]
call fcn.100064a28
test eax, eax
js 0x10003c96c
movsd qword [rsp + 0x50], xmm6
mov rcx, qword [rsi + 0x100]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x20]
test eax, eax
js 0x10003c96c
xor r8d, r8d
lea rdx, [rsi + 0x170]
lea rcx, [rsp + 0x50]
call fcn.100064a28
test eax, eax
js 0x10003c96c
mov rcx, qword [rsi + 0x100]
lea rax, [rsp + 0x40]
test rax, rax
je 0x10003c967
mov rax, qword [rcx + 0xc8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
test rax, rax
je 0x10003c960
movzx ebp, byte [rcx + 0xc0]
mov byte [rsp + 0x30], bpl
xor edx, edx
cmp dword [rcx + 0x140], edx
setne dl
mov rcx, qword [rsi + 0x1a0]
call qword [sym.imp.USER32.dll_EnableWindow]
mov r8, rbp
xor r9d, r9d
mov edx, 0xf1
mov rcx, qword [rsi + 0x1a0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, qword [rsi + 0x168]
mov rcx, qword [rsi + 0x158]
call qword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
setne al
test al, al
jne 0x10003c66b
mov eax, 0x80004005
jmp 0x10003c96c
mov rdx, qword [rsi + 0x170]
mov rcx, qword [rsi + 0x160]
call qword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
setne al
test al, al
jne 0x10003c692
mov eax, 0x80004005
jmp 0x10003c96c
mov rcx, rsi
call fcn.10003d440
test eax, eax
js 0x10003c96c
mov rbx, qword [0x1000a1180]
mov qword [rsp + 0x38], rbx
test bpl, bpl
je 0x10003c7ef
mov r9d, 5
lea r8, [rsp + 0xc0]
lea edx, [r9 + 9]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
setne al
test al, al
jne 0x10003c709
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c6ff
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c6ff
call fcn.10007a490
mov eax, 0x80004005
jmp 0x10003c96c
movsd xmm1, qword [rsp + 0x40]
cvttsd2si edi, xmm1
movd xmm0, edi
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x100009158]
cvttsd2si ebx, xmm1
mov r12d, 0xa
mov edx, r12d
lea rcx, [rsp + 0x38]
call fcn.100016600
mov dword [rsp + 0x28], ebx
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x20], rcx
mov r9d, edi
lea r8, [0x1000042f0]
mov rdx, r12
mov rcx, rax
call fcn.10003aab0
mov ebx, eax
test eax, eax
jns 0x10003c798
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c791
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c791
call fcn.10007a490
mov eax, ebx
jmp 0x10003c96c
mov rbx, qword [rsp + 0x38]
mov r9, rbx
xor r8d, r8d
mov edx, 0x143
mov rcx, qword [rsi + 0x1c0]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
setne al
test al, al
jne 0x10003c882
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c7e5
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c7e5
call fcn.10007a490
mov eax, 0x80004005
jmp 0x10003c96c
cvttsd2si r8d, qword [rsp + 0x40]
lea rdx, [0x100003db0]
lea rcx, [rsp + 0x38]
call fcn.10001646c
test eax, eax
setne al
test al, al
jne 0x10003c841
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c837
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c837
call fcn.10007a490
mov eax, 0x80004005
jmp 0x10003c96c
mov rcx, rsi
call fcn.10003b89c
mov ebx, eax
test eax, eax
jns 0x10003c87d
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c876
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c876
call fcn.10007a490
mov eax, ebx
jmp 0x10003c96c
mov rbx, qword [rsp + 0x38]
mov r9, rbx
or r8, 0xffffffffffffffff
mov edx, 0x158
mov rcx, qword [rsi + 0x1c0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ecx, 2
cmp eax, 0xffffffff
cmove eax, ecx
movsxd r8, eax
xor r9d, r9d
mov edx, 0x14e
mov rcx, qword [rsi + 0x1c0]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
setne al
test al, al
jne 0x10003c8f1
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c8ea
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c8ea
call fcn.10007a490
mov eax, 0x80004005
jmp 0x10003c96c
xor edx, edx
test bpl, bpl
sete dl
mov rcx, qword [rsi + 0x1c0]
call qword [sym.imp.USER32.dll_EnableWindow]
mov r11, qword [rsi + 0xf8]
movzx r8d, byte [r11 + 0x4c8]
xor r9d, r9d
mov edx, 0xf1
mov rcx, qword [rsi + 0x1a8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, r13d
xor edx, edx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_InvalidateRect]
nop
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003c95c
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
test eax, eax
jg 0x10003c95c
call fcn.10007a490
xor eax, eax
jmp 0x10003c96c
mov eax, 0x80004003
jmp 0x10003c96c
mov eax, 0x80004003
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.10007a3b0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r13
pop r12
pop rdi
ret