Function at 0x18007af40
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x1801a7040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rdx, qword [0x1801ceea0]
mov rax, qword [0x1801d1c48]
shl rax, 5
lea rcx, [rdx + 0x18]
add rcx, rax
cmp qword [rax + rdx + 0x10], 8
jbe 0x18007af83
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18007c69c
mov rax, qword [0x1801d1c50]
lea rcx, [rdx + 0x18]
shl rax, 5
add rcx, rax
cmp qword [rax + rdx + 0x10], 8
jbe 0x18007afa9
mov rcx, qword [rcx]
mov ecx, dword [rcx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18007c69c
mov rcx, qword [0x1801d1218]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x100]
call rdx
test al, al
je 0x18007c69c
mov rax, qword [0x1801d1228]
movabs rcx, 0x9241b8778dd136bd
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x228], r12
mov r12, qword [0x1801d12a0]
mov rbx, qword [rax + 0x58]
mov eax, dword [0x1801d1214]
mov qword [rbp - 0x70], r12
test al, 1
jne 0x18007b025
or eax, 1
mov dword [0x1801d1214], eax
call fcn.180076d90
mov dword [0x1801d1484], eax
jmp 0x18007b02b
mov eax, dword [0x1801d1484]
mov edx, eax
mov edx, dword [rdx + r12]
cmp edx, 0xffffffff
jne 0x18007b03a
xor eax, eax
jmp 0x18007b048
and edx, 0x7fff
mov rcx, rbx
call fcn.18005f9f0
mov ecx, dword [0x1801d11fc]
mov qword [rbp - 0x78], rax
movabs rax, 0xdccf003ada4c08e3
test cl, 1
jne 0x18007b07a
or ecx, 1
mov dword [0x1801d11fc], ecx
mov rcx, rax
call fcn.180076d90
mov dword [0x1801d1210], eax
jmp 0x18007b080
mov eax, dword [0x1801d1210]
mov eax, eax
cmp byte [rax + r12], 0
je 0x18007c68c
mov rax, qword [0x1801d1c58]
mov qword [rsp + 0x248], rsi
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x220], r13
mov qword [rsp + 0x218], r14
mov qword [rsp + 0x210], r15
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x1d0], xmm9
movaps xmmword [rsp + 0x1c0], xmm10
movaps xmmword [rsp + 0x1b0], xmm11
movaps xmmword [rsp + 0x1a0], xmm12
shl rax, 5
add rax, qword [0x1801ceea0]
movaps xmmword [rsp + 0x190], xmm13
movaps xmmword [rsp + 0x180], xmm14
movaps xmmword [rsp + 0x170], xmm15
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007b12d
mov rcx, qword [rcx]
movss xmm12, dword [rcx]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
movd xmm13, eax
cvtdq2ps xmm13, xmm13
mulss xmm13, dword [0x18018de9c]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm10, dword [0x18018e260]
xor ebx, ebx
movsd xmm15, qword [0x18018df90]
xorps xmm0, xmm0
movss xmm11, dword [0x18018e050]
xor ecx, ecx
movdqu xmmword [rsp + 0x30], xmm0
mov rsi, qword [rsp + 0x38]
movabs r13, 0x1fffffffffffffff
mov rdi, qword [rsp + 0x30]
xorps xmm9, xmm9
movd xmm14, eax
cvtdq2ps xmm14, xmm14
mov qword [rsp + 0x40], rbx
mov qword [rbp - 0x68], rcx
mulss xmm14, dword [0x18018de9c]
mov rax, qword [0x1801d1228]
lea edx, [rcx + 1]
movabs r14, 0x396bd442165e47e8
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov r15, rax
test rax, rax
je 0x18007c5bb
mov ecx, dword [0x1801d17f0]
test cl, 1
jne 0x18007b206
or ecx, 1
mov dword [0x1801d17f0], ecx
movabs rcx, 0x5252226c300e74d9
call fcn.180076d90
mov dword [0x1801d175c], eax
jmp 0x18007b20c
mov eax, dword [0x1801d175c]
mov eax, eax
cmp byte [rax + r15], 0
jne 0x18007c5bb
mov rax, qword [0x1801d1c40]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007b239
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18007b2a7
mov eax, dword [0x1801d16d8]
test al, 1
jne 0x18007b269
or eax, 1
mov rcx, r14
mov dword [0x1801d16d8], eax
call fcn.180076d90
mov ecx, eax
mov dword [0x1801d16e4], eax
mov eax, dword [0x1801d16d8]
jmp 0x18007b26f
mov ecx, dword [0x1801d16e4]
mov r14d, ecx
test al, 1
jne 0x18007b296
or eax, 1
movabs rcx, 0x396bd442165e47e8
mov dword [0x1801d16d8], eax
call fcn.180076d90
mov ecx, eax
mov dword [0x1801d16e4], eax
mov eax, ecx
movzx ecx, byte [rax + r12]
cmp byte [r14 + r15], cl
je 0x18007c5bb
mov eax, dword [0x1801d11fc]
test al, 1
jne 0x18007b2d1
or eax, 1
movabs rcx, 0xdccf003ada4c08e3
mov dword [0x1801d11fc], eax
call fcn.180076d90
mov dword [0x1801d1210], eax
jmp 0x18007b2d7
mov eax, dword [0x1801d1210]
mov eax, eax
cmp byte [rax + r15], 0
je 0x18007c5bb
mov rax, qword [0x1801d1228]
mov r14, qword [rax + 0x58]
mov eax, dword [0x1801d1214]
test al, 1
jne 0x18007b319
or eax, 1
movabs rcx, 0x9241b8778dd136bd
mov dword [0x1801d1214], eax
call fcn.180076d90
mov dword [0x1801d1484], eax
jmp 0x18007b31f
mov eax, dword [0x1801d1484]
mov edx, eax
mov edx, dword [rdx + r15]
cmp edx, 0xffffffff
jne 0x18007b32f
xor r14d, r14d
jmp 0x18007b340
and edx, 0x7fff
mov rcx, r14
call fcn.18005f9f0
mov r14, rax
mov ecx, dword [0x1801d17d4]
mov qword [rsp + 0x20], r14
test cl, 1
jne 0x18007b370
or ecx, 1
mov dword [0x1801d17d4], ecx
movabs rcx, 0x4ff1a61db0a3a408
call fcn.180076d90
mov dword [0x1801d17d0], eax
jmp 0x18007b376
mov eax, dword [0x1801d17d0]
mov eax, eax
cmp byte [rax + r14], 0
jne 0x18007c5bb
mov eax, dword [0x1801d1790]
test al, 1
jne 0x18007b3ad
or eax, 1
movabs rcx, 0x9320aed4f2ddf04b
mov dword [0x1801d1790], eax
call fcn.180076d90
mov dword [0x1801d17c0], eax
jmp 0x18007b3b3
mov eax, dword [0x1801d17c0]
mov eax, eax
cmp dword [rax + r14], 0
jle 0x18007c5bb
mov rax, qword [0x1801d1c38]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007b3e0
mov rcx, qword [rcx]
test byte [rcx], 1
je 0x18007b4d0
cmp rsi, rbx
je 0x18007b3fe
mov qword [rsi], 6
add rsi, 8
jmp 0x18007b4cb
sub rsi, rdi
mov r15, rsi
sar r15, 3
cmp r15, r13
je 0x18007c6b1
sub rbx, rdi
lea r12, [r15 + 1]
sar rbx, 3
mov rax, r13
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b432
mov rcx, r13
jmp 0x18007b449
lea rax, [rcx + rbx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, r13
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov r14, rax
mov qword [rax + r15*8], 6
call fcn.180124980
test rdi, rdi
je 0x18007b4ac
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b4a4
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r14 + r13]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], rbx
lea rsi, [r14 + r12*8]
mov rdi, r14
movabs r13, 0x1fffffffffffffff
mov qword [rsp + 0x38], rsi
mov rax, qword [0x1801d1c38]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007b4f0
mov rcx, qword [rcx]
test byte [rcx], 2
je 0x18007b8ad
cmp rsi, rbx
je 0x18007b50e
mov qword [rsi], 0
add rsi, 8
jmp 0x18007b5d1
sub rsi, rdi
mov r14, rsi
sar r14, 3
cmp r14, r13
je 0x18007c6b1
sub rbx, rdi
lea r12, [r14 + 1]
sar rbx, 3
mov rax, r13
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b542
mov rcx, r13
jmp 0x18007b559
lea rax, [rcx + rbx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, r13
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + r14*8], 0
call fcn.180124980
test rdi, rdi
je 0x18007b5bc
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b5b4
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007b5e9
mov qword [rsi], 1
add rsi, 8
jmp 0x18007b6b6
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b627
mov rcx, rdx
jmp 0x18007b63e
lea rax, [rcx + rbx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 1
call fcn.180124980
test rdi, rdi
je 0x18007b6a1
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b699
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007b6ce
mov qword [rsi], 2
add rsi, 8
jmp 0x18007b79b
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b70c
mov rcx, rdx
jmp 0x18007b723
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 2
call fcn.180124980
test rdi, rdi
je 0x18007b786
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b77e
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007b7b8
mov qword [rsi], 3
add rsi, 8
mov qword [rsp + 0x38], rsi
jmp 0x18007b887
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov r15, r14
sar r15, 3
cmp r15, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [r15 + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b7f6
mov rcx, rdx
jmp 0x18007b80d
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
mov qword [rax + r15*8], 3
call fcn.180124980
test rdi, rdi
je 0x18007b870
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b868
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rax, [rsi + r12*8]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rax
lea rax, [rsi + r13]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], 4
lea rcx, [rsp + 0x30]
call fcn.18007c6d0
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov rax, qword [0x1801d1c38]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007b8cd
mov rcx, qword [rcx]
test byte [rcx], 4
je 0x18007bbc4
cmp rsi, rbx
je 0x18007b8eb
mov qword [rsi], 0xa
add rsi, 8
jmp 0x18007b9b8
sub rsi, rdi
movabs rdx, 0x1fffffffffffffff
mov r14, rsi
sar r14, 3
cmp r14, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [r14 + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007b929
mov rcx, rdx
jmp 0x18007b940
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + r14*8], 0xa
call fcn.180124980
test rdi, rdi
je 0x18007b9a3
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007b99b
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov rdx, rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x74], 0xb
cmp rdx, rbx
je 0x18007b9da
mov qword [rdx], 0xb
add rsi, 8
jmp 0x18007b9f8
lea r8, [rsp + 0x74]
lea rcx, [rsp + 0x30]
call fcn.18007e980
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
cmp rsi, rbx
je 0x18007ba0d
mov qword [rsi], 0xf
add rsi, 8
jmp 0x18007bada
sub rsi, rdi
movabs rdx, 0x1fffffffffffffff
mov r14, rsi
sar r14, 3
cmp r14, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [r14 + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007ba4b
mov rcx, rdx
jmp 0x18007ba62
lea rax, [rcx + rbx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + r14*8], 0xf
call fcn.180124980
test rdi, rdi
je 0x18007bac5
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007babd
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007baf2
mov qword [rsi], 0x10
add rsi, 8
jmp 0x18007bbbf
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007bb30
mov rcx, rdx
jmp 0x18007bb47
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 0x10
call fcn.180124980
test rdi, rdi
je 0x18007bbaa
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007bba2
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov qword [rsp + 0x38], rsi
mov rax, qword [0x1801d1c38]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007bbe4
mov rcx, qword [rcx]
test byte [rcx], 8
je 0x18007bf83
cmp rsi, rbx
je 0x18007bc02
mov qword [rsi], 0x17
add rsi, 8
jmp 0x18007bccf
sub rsi, rdi
movabs rdx, 0x1fffffffffffffff
mov r14, rsi
sar r14, 3
cmp r14, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [r14 + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007bc40
mov rcx, rdx
jmp 0x18007bc57
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + r14*8], 0x17
call fcn.180124980
test rdi, rdi
je 0x18007bcba
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007bcb2
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007bce7
mov qword [rsi], 0x18
add rsi, 8
jmp 0x18007bdb4
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007bd25
mov rcx, rdx
jmp 0x18007bd3c
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 0x18
call fcn.180124980
test rdi, rdi
je 0x18007bd9f
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007bd97
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007bdcc
mov qword [rsi], 0x1a
add rsi, 8
jmp 0x18007be99
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007be0a
mov rcx, rdx
jmp 0x18007be21
lea rax, [rbx + rcx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 0x1a
call fcn.180124980
test rdi, rdi
je 0x18007be84
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007be7c
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov r14, rsi
cmp rsi, rbx
je 0x18007beb1
mov qword [rsi], 0x1b
add rsi, 8
jmp 0x18007bf7e
sub r14, rdi
movabs rdx, 0x1fffffffffffffff
mov rsi, r14
sar rsi, 3
cmp rsi, rdx
je 0x18007c6b1
sub rbx, rdi
lea r12, [rsi + 1]
sar rbx, 3
mov rax, rdx
mov rcx, rbx
shr rcx, 1
sub rax, rcx
cmp rbx, rax
jbe 0x18007beef
mov rcx, rdx
jmp 0x18007bf06
lea rax, [rcx + rbx]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, rdx
ja 0x18007c6bd
lea r13, [rcx*8]
mov rcx, r13
call fcn.180050c20
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov r15, rax
mov qword [rax + rsi*8], 0x1b
call fcn.180124980
test rdi, rdi
je 0x18007bf69
lea rdx, [rbx*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x18007bf61
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rcx, rdi
call fcn.1800f3cac
lea rbx, [r15 + r13]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + r12*8]
mov rdi, r15
mov qword [rsp + 0x38], rsi
cmp rdi, rsi
je 0x18007c5ad
mov r15, qword [rsp + 0x20]
mov eax, dword [0x1801d178c]
mov r14, qword [rdi]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x60], 0
test al, 1
jne 0x18007bfcf
or eax, 1
movabs rcx, 0x9f4c773fb92eaba8
mov dword [0x1801d178c], eax
call fcn.180076d90
mov dword [0x1801d1784], eax
jmp 0x18007bfd5
mov eax, dword [0x1801d1784]
mov eax, eax
mov rcx, qword [rax + r15]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x40]
call rdx
mov rbx, rax
test rax, rax
je 0x18007c596
mov ecx, dword [0x1801d1834]
test cl, 1
jne 0x18007c01b
or ecx, 1
mov dword [0x1801d1834], ecx
movabs rcx, 0xd6ef18fd7bcdf6f
call fcn.180076d90
mov dword [0x1801d1838], eax
jmp 0x18007c021
mov eax, dword [0x1801d1838]
mov eax, eax
mov rcx, qword [rax + rbx + 0x80]
test rcx, rcx
je 0x18007c596
movsxd rax, r14d
shl rax, 5
movups xmm1, xmmword [rax + rcx]
ucomiss xmm1, xmm9
movaps xmm0, xmm1
movss dword [rsp + 0x58], xmm1
movaps xmm2, xmm1
shufps xmm0, xmm1, 0x55
shufps xmm2, xmm1, 0xaa
movss dword [rsp + 0x5c], xmm0
movss dword [rsp + 0x60], xmm2
jp 0x18007c07b
jne 0x18007c07b
ucomiss xmm0, xmm9
jp 0x18007c07b
jne 0x18007c07b
ucomiss xmm2, xmm9
jp 0x18007c07b
je 0x18007c596
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x58]
call fcn.18008cef0
test al, al
je 0x18007c596
movss xmm6, dword [rsp + 0x68]
movss xmm7, dword [rsp + 0x6c]
subss xmm6, xmm13
subss xmm7, xmm14
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18007c0d6
xorps xmm8, xmm8
sqrtss xmm8, xmm1
jmp 0x18007c0e2
movaps xmm0, xmm1
call fcn.1801239f8
movaps xmm8, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18011f2a0
comiss xmm12, xmm8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm15
divsd xmm1, qword [0x18018df68]
cvtpd2ps xmm2, xmm1
jb 0x18007c118
movaps xmm0, xmm2
andps xmm0, xmm10
comiss xmm11, xmm0
jae 0x18007c130
comiss xmm8, xmm12
jb 0x18007c596
andps xmm2, xmm10
comiss xmm2, xmm11
jb 0x18007c596
mov r14, qword [rbp - 0x78]
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.18007a920
mov rdx, rax
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.18007ae40
lea rcx, [rsp + 0x48]
call fcn.18007a880
mov rcx, qword [0x1801d1c68]
call fcn.180058db0
mov rcx, qword [0x1801d1c70]
movss xmm7, dword [rax]
call fcn.180058db0
mov rcx, qword [0x1801d1c60]
movss xmm6, dword [rax]
call fcn.180058db0
lea rdx, [rbp - 0x34]
movss xmm8, dword [rax]
call fcn.18007aa80
mov r8, rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.18007a840
movss xmm2, dword [rsp + 0x7c]
addss xmm6, xmm6
movss xmm0, dword [rsp + 0x78]
addss xmm7, xmm7
lea rdx, [rbp - 0x60]
mov dword [rbp - 0x58], 0
lea rcx, [rsp + 0x78]
divss xmm2, xmm6
divss xmm0, xmm7
movss dword [rbp - 0x60], xmm2
movss dword [rbp - 0x5c], xmm0
call fcn.18007a7a0
addss xmm8, xmm8
lea rcx, [rsp + 0x78]
movaps xmm1, xmm8
call fcn.18007a7d0
lea rdx, [rbp - 0x28]
call fcn.18007aa80
lea r8, [rsp + 0x78]
mov rcx, rax
lea rdx, [rbp - 0x1c]
call fcn.18007a800
mov rcx, qword [0x1801d1c90]
movss xmm2, dword [rax]
movss dword [rsp + 0x48], xmm2
movss xmm0, dword [rax + 4]
movss dword [rsp + 0x4c], xmm0
movss xmm1, dword [rax + 8]
movss dword [rsp + 0x50], xmm1
call fcn.180058db0
cmp byte [rax], 0
je 0x18007c3cd
mov eax, dword [0x1801d17a4]
test al, 1
jne 0x18007c26f
or eax, 1
movabs rcx, 0x46ec2e5c3883615c
mov dword [0x1801d17a4], eax
call fcn.180076d90
mov dword [0x1801d1774], eax
jmp 0x18007c275
mov eax, dword [0x1801d1774]
mov eax, eax
cmp dword [rax + r14], 0
je 0x18007c3cd
mov ecx, dword [0x1801d1744]
movabs r12, 0x85faf031aa780d08
test cl, 1
jne 0x18007c2b8
or ecx, 1
mov dword [0x1801d1744], ecx
mov rcx, r12
call fcn.180076d90
mov ecx, dword [0x1801d1744]
mov edx, eax
mov dword [0x1801d17e8], eax
jmp 0x18007c2be
mov edx, dword [0x1801d17e8]
mov eax, edx
cmp dword [rax + r14], 0
je 0x18007c3cd
test cl, 1
jne 0x18007c2ef
or ecx, 1
mov dword [0x1801d1744], ecx
mov rcx, r12
call fcn.180076d90
mov ecx, dword [0x1801d1744]
mov edx, eax
mov dword [0x1801d17e8], eax
mov eax, edx
mov rbx, qword [rax + r14 + 8]
test cl, 1
jne 0x18007c314
or ecx, 1
mov dword [0x1801d1744], ecx
mov rcx, r12
call fcn.180076d90
mov edx, eax
mov dword [0x1801d17e8], eax
mov eax, edx
movsxd rcx, dword [rax + r14]
lea rax, [rcx + rcx*2]
mov rcx, qword [0x1801d1c98]
movsd xmm4, qword [rbx + rax*4 - 0xc]
call fcn.180058db0
mov rcx, qword [0x1801d1c78]
movss xmm5, dword [rax]
call fcn.180058db0
movss xmm1, dword [rsp + 0x48]
movaps xmm0, xmm4
mulss xmm0, dword [0x18018df58]
movaps xmm3, xmm1
mov rcx, qword [0x1801d1c80]
movss xmm2, dword [rax]
divss xmm2, dword [0x18018e030]
mulss xmm2, xmm0
movaps xmm0, xmm1
subss xmm3, xmm2
subss xmm3, xmm1
mulss xmm3, xmm5
addss xmm0, xmm3
movss dword [rsp + 0x48], xmm0
call fcn.180058db0
movaps xmm0, xmm4
movsd qword [rsp + 0x20], xmm4
shufps xmm0, xmm0, 0x55
mulss xmm0, dword [0x18018df58]
movss xmm2, dword [rax]
divss xmm2, dword [0x18018e030]
mulss xmm2, xmm0
movss xmm0, dword [rsp + 0x4c]
movaps xmm1, xmm0
subss xmm1, xmm2
subss xmm1, xmm0
mulss xmm1, xmm5
addss xmm0, xmm1
movss dword [rsp + 0x4c], xmm0
mov rcx, qword [0x1801d1ca0]
call fcn.180058db0
cmp byte [rax], 0
je 0x18007c3f1
mov rdx, r14
mov rcx, r15
call fcn.1800896a0
test al, al
je 0x18007c596
mov rcx, qword [0x1801d1ca8]
call fcn.180058db0
cmp byte [rax], 0
jne 0x18007c58c
mov eax, dword [0x1801d17ec]
mov rbx, qword [0x1801d1220]
test al, 1
jne 0x18007c577
or eax, 1
movabs rcx, 0xc904e9b66bf8fb37
mov dword [0x1801d17ec], eax
movabs rdx, 0xe8202de72d50f57c
movabs rax, 0xfc33c9842fd8ce0f
movabs r8, 0x43f7adb5344dc306
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x10], rax
movabs rax, 0xe82015d30d16c65c
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x18], rax
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
mov qword [rbp - 0x50], rax
mov rax, qword [rsp + 0x20]
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp - 0x48], rax
movabs rax, 0xc961e9df6b94fb54
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x10], xmm0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x20], rax
movabs rax, 0xe8442dc92d24f512
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x28], rax
movabs rax, 0xcc487f1c8fd522e5
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x30], rax
mov qword [rsp + 0x20], r8
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x38], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x20]
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x40], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x48], rax
movabs rax, 0xcc487f1c8fb92289
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x20], r8
mov rax, qword [rsp + 0x20]
movdqa xmm0, xmmword [rbp + 0x20]
movdqa xmm1, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp + 0x40]
mov qword [rbp + 0x58], rax
xorps xmm1, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x30], xmm1
movdqa xmmword [rbp + 0x20], xmm0
call fcn.18008efc0
mov rsi, qword [rsp + 0x38]
lea r8, [rsp + 0x48]
xor edx, edx
mov qword [0x1801d1748], rax
mov rcx, rbx
call rax
jmp 0x18007c596
mov rax, qword [0x1801d1748]
lea r8, [rsp + 0x48]
xor edx, edx
mov rcx, rbx
call rax
jmp 0x18007c596
lea rdx, [rsp + 0x48]
call fcn.18007aa20
add rdi, 8
cmp rdi, rsi
jne 0x18007bf91
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov r12, qword [rbp - 0x70]
movabs r13, 0x1fffffffffffffff
mov rcx, qword [rbp - 0x68]
inc rcx
mov qword [rbp - 0x68], rcx
cmp rcx, 0x40
jb 0x18007b1b2
test rdi, rdi
je 0x18007c60c
sub rbx, rdi
mov rax, rdi
and rbx, 0xfffffffffffffff8
cmp rbx, 0x1000
jb 0x18007c601
mov rdi, qword [rdi - 8]
add rbx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007c6b7
mov rdx, rbx
mov rcx, rdi
call fcn.1800f3cac
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm13, xmmword [rsp + 0x190]
movaps xmm12, xmmword [rsp + 0x1a0]
movaps xmm11, xmmword [rsp + 0x1b0]
movaps xmm10, xmmword [rsp + 0x1c0]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm6, xmmword [rsp + 0x200]
mov r15, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov r13, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x250]
movaps xmm15, xmmword [rsp + 0x170]
mov rbx, qword [rsp + 0x240]
mov r12, qword [rsp + 0x228]
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1800f39f0
add rsp, 0x230
pop rbp
ret
call fcn.1800582e0
int3
call fcn.180101fd4
int3
call fcn.180034de0
int3