Function at 0x1400c9440
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x38]
sub rsp, 0x110
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x14016bb40]
xor rax, rsp
mov qword [rbp], rax
mov rsi, qword [rbp + 0x40]
mov qword [rbp - 0x40], rsi
mov rdi, qword [rbp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x38], r14d
lea rax, [0x14011df7c]
mov qword [rsp + 0x70], rax
lea rax, [0x140126ad8]
mov qword [rsp + 0x78], rax
lea rax, [0x140126b60]
mov qword [rbp - 0x80], rax
lea rax, [0x140126b68]
mov qword [rbp - 0x78], rax
lea rax, [0x140126b70]
mov qword [rbp - 0x70], rax
lea rax, [0x140126b78]
mov qword [rbp - 0x68], rax
lea rax, [0x140126b80]
mov qword [rbp - 0x60], rax
lea rax, [0x140126b88]
mov qword [rbp - 0x58], rax
lea rax, [0x140126b90]
mov qword [rbp - 0x50], rax
mov r12d, r14d
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov eax, r14d
cmp rdi, 0x400
jl 0x1400c954f
nop
cmp r12d, 9
jae 0x1400c954f
inc r12d
mov rax, rdi
cqo
and edx, 0x3ff
add rax, rdx
mov rdi, rax
and eax, 0x3ff
sub rax, rdx
sar rdi, 0xa
cmp rdi, 0x400
jge 0x1400c9520
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [0x140135208]
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
addsd xmm2, xmm0
movq r8, xmm2
lea rdx, str._32.32f
lea rcx, [rsp + 0x30]
call fcn.14001e360
xor eax, eax
mov qword [rbp - 0x30], 0x2e
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], 0x2c
mov qword [rbp - 0x10], rax
mov dword [rbp - 8], eax
mov dword [rsp + 0x50], 3
mov edi, 1
mov dword [rsp + 0x4c], edi
lea rax, [rbp - 0x30]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x48], edi
lea r9d, [rdi + 9]
lea r8, [rbp - 0x30]
lea edx, [rdi + 0xd]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea r9d, [rdi + 9]
lea r8, [rbp - 0x18]
lea edx, [rdi + 0xe]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
mov dword [rsp + 0x38], edi
sub edi, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, 0x20
or eax, edi
jge 0x1400c962f
mov edx, 0x20
mov rcx, rsi
call fcn.14001e8d0
mov rax, qword [rsi]
mov edi, dword [rax - 0xc]
cmp dword [rax - 8], 1
jle 0x1400c9646
mov edx, dword [rax - 0x10]
mov rcx, rsi
call fcn.14001e7c0
mov rax, qword [rsi]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
mov r8, rbx
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetNumberFormatW]
or r13, 0xffffffffffffffff
test eax, eax
jne 0x1400c9763
lea rcx, [rbx - 0x18]
mov rdi, qword [rsi]
sub rdi, 0x18
cmp rcx, rdi
je 0x1400c96d4
cmp dword [rdi + 0x10], eax
jl 0x1400c96c5
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400c96c5
call fcn.14001e5d0
mov rbx, rax
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400c96b7
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
mov qword [rsi], rax
mov rbx, qword [rsp + 0x30]
jmp 0x1400c96d4
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, rsi
call fcn.14001e490
mov rcx, qword [rsi]
cmp dword [rcx - 0x10], 0
jl 0x1400c9763
lea rdx, [rbp - 0x30]
call fcn.14006096c
test rax, rax
je 0x1400c9763
mov rcx, qword [rsi]
sub rax, rcx
sar rax, 1
test eax, eax
jle 0x1400c9763
cmp dword [rcx - 0x10], 0
jge 0x1400c9707
mov eax, r13d
jmp 0x1400c9720
lea rdx, [rbp - 0x30]
call fcn.14006096c
test rax, rax
jne 0x1400c971a
mov eax, r13d
jmp 0x1400c9720
sub rax, qword [rsi]
sar rax, 1
lea r8d, [rax + 3]
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.14001f2f0
nop
mov rdx, rax
mov rcx, rsi
call fcn.14001deb0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400c975e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400c9770
mov eax, r14d
jmp 0x1400c977d
movsxd rdx, dword [rcx - 0xc]
call fcn.14005e508
test eax, eax
js 0x1400c97de
mov rcx, qword [rsi]
cmp eax, dword [rcx - 0xc]
jg 0x1400c97de
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rsi]
mov word [rax + rcx*2], r14w
movsxd rax, r12d
mov rdx, qword [rsp + rax*8 + 0x70]
test rdx, rdx
je 0x1400c97b2
xor eax, eax
mov rcx, r13
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov r8d, r14d
mov rcx, rsi
call fcn.14001ddb0
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r13d
dec r13d
test r13d, r13d
jg 0x1400c97d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, rsi
jmp 0x1400c97e9
mov ecx, 0x80070057
call fcn.14001e940
nop
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14005e0b0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret