Function at 0x180070580
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x108
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
xor ebp, ebp
cmp byte [0x18023aa00], bpl
mov qword [rax + 0x20], rsi
mov qword [rax - 8], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
movabs r13, 0xd80958fc74e988a6
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rsp + 0x70], xmm12
xorps xmm12, xmm12
je 0x180070a2b
movaps xmmword [rax - 0x68], xmm9
lea rcx, [rsp + 0x30]
movaps xmmword [rax - 0x78], xmm10
xor r8d, r8d
movaps xmmword [rax - 0x88], xmm11
movabs rdx, 0x837765a25378f0bb
movaps xmmword [rsp + 0x60], xmm13
call fcn.18006ae10
movss xmm0, dword [rsp + 0x30]
mulss xmm0, dword [0x1801770d8]
cvtps2pd xmm11, xmm0
movss xmm0, dword [rsp + 0x40]
mulss xmm0, dword [0x1801770d8]
cvtps2pd xmm9, xmm0
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mov rcx, qword [0x1801c9230]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
andps xmm1, xmmword [0x1801778f0]
cvtps2pd xmm8, xmm1
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
movabs rdx, 0x14d6f5678d8f1b37
call fcn.180014230
mov rbx, qword [0x1801c9230]
movaps xmm0, xmm9
mov rax, qword [rbx]
movups xmm7, xmmword [rax]
movsd xmm10, qword [rax + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movss xmm6, dword [0x1801772e0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
xorps xmm1, xmmword [0x180177910]
cvtss2sd xmm0, xmm1
mulsd xmm0, xmm8
cvtpd2ps xmm13, xmm0
movaps xmm0, xmm9
mulss xmm13, xmm6
addss xmm13, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm7, xmm7, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm11
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm8
cvtpd2ps xmm8, xmm2
mulss xmm8, xmm6
addss xmm8, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm9, xmm9
movsd qword [rsp + 0x40], xmm10
cvtsd2ss xmm9, xmm0
mov rcx, rbx
mulss xmm9, xmm6
addss xmm9, xmm10
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
movabs r15, 0x3fef770d40960d5a
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x110], ebx
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rbp
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rsi, qword [0x18023ae38]
mov rbx, qword [0x18023ae30]
cmp rbx, rsi
je 0x180070a0a
movss xmm11, dword [0x180177368]
movabs r14, 0x1c99bb7b6e96d16f
movaps xmmword [rsp + 0x50], xmm14
movsd xmm14, qword [0x180177288]
mov rcx, qword [0x1801c9230]
mov rdi, qword [rbx]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x110], edi
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rbp
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
call fcn.180014230
comiss xmm13, xmm12
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
movups xmm1, xmmword [rcx]
movsd xmm0, qword [rcx + 0x10]
movups xmmword [rsp + 0x30], xmm1
movsd qword [rsp + 0x40], xmm0
jbe 0x18007085a
comiss xmm1, xmm12
jbe 0x18007085a
movaps xmm7, xmm13
subss xmm7, xmm1
movss dword [0x18023a9fc], xmm7
jmp 0x180070862
movss xmm7, dword [0x18023a9fc]
comiss xmm12, xmm13
jbe 0x18007087e
comiss xmm12, xmm1
jbe 0x18007087e
movaps xmm7, xmm13
subss xmm7, xmm1
movss dword [0x18023a9fc], xmm7
comiss xmm13, xmm12
jbe 0x18007089a
comiss xmm12, xmm1
jbe 0x18007089a
movaps xmm7, xmm13
addss xmm7, xmm1
movss dword [0x18023a9fc], xmm7
comiss xmm12, xmm13
jbe 0x1800708b6
comiss xmm1, xmm12
jbe 0x1800708b6
movaps xmm7, xmm13
addss xmm7, xmm1
movss dword [0x18023a9fc], xmm7
comiss xmm8, xmm12
movss xmm0, dword [rsp + 0x38]
movaps xmm10, xmm7
jbe 0x1800708dc
comiss xmm0, xmm12
jbe 0x1800708dc
movaps xmm7, xmm8
subss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm12, xmm8
jbe 0x1800708f8
comiss xmm12, xmm0
jbe 0x1800708f8
movaps xmm7, xmm8
subss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm8, xmm12
jbe 0x180070914
comiss xmm12, xmm0
jbe 0x180070914
movaps xmm7, xmm8
addss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm12, xmm8
jbe 0x180070930
comiss xmm0, xmm12
jbe 0x180070930
movaps xmm7, xmm8
addss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm9, xmm12
movss xmm0, dword [rsp + 0x40]
movaps xmm1, xmm7
jbe 0x180070955
comiss xmm0, xmm12
jbe 0x180070955
movaps xmm7, xmm9
subss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm12, xmm9
jbe 0x180070971
comiss xmm12, xmm0
jbe 0x180070971
movaps xmm7, xmm9
subss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm9, xmm12
jbe 0x18007098d
comiss xmm12, xmm0
jbe 0x18007098d
movaps xmm7, xmm9
addss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
comiss xmm12, xmm9
jbe 0x1800709a9
comiss xmm0, xmm12
jbe 0x1800709a9
movaps xmm7, xmm9
addss xmm7, xmm0
movss dword [0x18023a9fc], xmm7
xorps xmm0, xmm0
mulss xmm1, xmm11
cvtss2sd xmm0, xmm1
divsd xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm6, xmm6
mulss xmm10, xmm11
cvtsd2ss xmm6, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
divsd xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
movss dword [rsp + 0x20], xmm7
cvtsd2ss xmm2, xmm0
mov edx, edi
mov rcx, r14
movaps xmm3, xmm6
call fcn.180071b60
add rbx, 8
cmp rbx, rsi
jne 0x1800707c0
movaps xmm14, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm13, xmmword [rsp + 0x60]
movzx ebx, byte [0x18023a9f8]
test bl, bl
jne 0x180070a43
cmp byte [0x18023a9f7], bpl
je 0x180070ae6
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rbp
mov byte [rsp + 0x110], bl
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x7e08924259e08ce0
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
movzx ebx, byte [0x18023a9f7]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rbp
mov byte [rsp + 0x110], bl
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x18f621f7a5b1f85d
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
movzx ebx, byte [0x18023a9f6]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
movzx r8d, bl
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xbb03c38dd3fb7ffd
call fcn.18006a1c0
movzx edx, byte [0x1801c706c]
movzx ecx, byte [0x18023aabe]
test dl, dl
je 0x180070b57
test cl, cl
jne 0x180070b57
movzx eax, byte [0x18023aabd]
add dl, 0xff
inc al
mov byte [0x1801c706c], dl
mov byte [0x18023aabd], al
jmp 0x180070b5e
movzx eax, byte [0x18023aabd]
test al, al
je 0x180070b76
test dl, dl
jne 0x180070b76
add al, 0xff
inc cl
mov byte [0x18023aabd], al
mov byte [0x18023aabe], cl
test cl, cl
je 0x180070b8f
test al, al
jne 0x180070b8f
inc dl
add cl, 0xff
mov byte [0x1801c706c], dl
mov byte [0x18023aabe], cl
call fcn.18006f0f0
cmp byte [0x18023a9f4], bpl
mov rcx, qword [0x1801c9230]
je 0x180070bdb
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x110], 6
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
jmp 0x180070bf5
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rbp
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
movabs rdx, 0x1454f2448de30163
call fcn.180014230
cmp byte [0x18023a9f3], bpl
je 0x180070c31
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180070c31
cmp byte [0x18023aa03], bpl
sete byte [0x18023aa03]
mov rcx, qword [0x1801c9230]
movzx ebx, byte [reloc.WS2_32.dll_accept]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
movzx r8d, bl
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x3882114bde571ad4
call fcn.18006a1c0
cmp byte [reloc.WS2_32.dll_accept], bpl
movabs rbx, 0x4f8644af03d0e0d6
je 0x180070d50
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x110], 6
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0xaa5f02db48d704b9
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rbx
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x39ff19c64ef7da5b
call fcn.180069fc0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rbx
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xe0a7d1e497ffcd6f
call fcn.18006a1c0
cmp byte [reloc.WS2_32.dll_accept], bpl
mov rcx, qword [0x1801c9230]
je 0x180070db2
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xdf993ee5e90aba25
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
xor r8b, r8b
jmp 0x180070e02
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8b, 1
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xdf993ee5e90aba25
call fcn.18006a1c0
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov r8b, 1
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xb128377056a54e2a
call fcn.18006a1c0
cmp byte [0x18023a9f2], bpl
mov rcx, qword [0x1801c9230]
je 0x180070e46
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov r8b, 1
jmp 0x180070e5d
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
xor r8b, r8b
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xf0a4f1bbf4fa7497
call fcn.18006a1c0
cmp byte [0x18023a9f1], bpl
mov rcx, qword [0x1801c9230]
je 0x180070ea1
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov r9b, 1
jmp 0x180070eb8
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
xor r9b, r9b
mov rax, qword [0x1801c9230]
mov r8d, reloc.WLDAP32.dll_Ordinal_33
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x1913fe4cbf41c463
call fcn.180069fc0
mov rcx, qword [0x1801c9230]
movzx ebx, byte [0x18023a9f0]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r8d, r8d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x997abd671d25ca0b
call fcn.18006a1c0
test eax, eax
jne 0x180070f62
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r9d, r9d
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0xea1c610a04db6bbb
test bl, bl
je 0x180070f5a
xor r8d, r8d
jmp 0x180070f5d
mov r8b, 1
call fcn.18006aae0
call fcn.18006d2c0
call fcn.18006e550
cmp byte [0x18023a9e0], bpl
je 0x180070f86
mov edx, 0x4000
mov byte [reloc.WS2_32.dll_accept], 1
call fcn.1800dbb00
call fcn.18006e8d0
cmp byte [0x18023a9de], bpl
je 0x180071085
cmp byte [0x18023aa20], bpl
lea rbx, [0x180000000]
je 0x180070fcd
mov r8, qword [0x18023aa18]
mov r9d, 0x796e
mov rcx, qword [rbx + r8*8 + 0x1c6fe8]
mov r8, qword [rbx + r8*8 + 0x1c7020]
mov rdx, rcx
call fcn.18006efa0
cmp byte [0x18023aa13], bpl
je 0x180070ffb
mov r8, qword [0x18023aa18]
mov r9d, 0xdead
mov rcx, qword [rbx + r8*8 + 0x1c6fe8]
mov r8, qword [rbx + r8*8 + 0x1c7020]
mov rdx, rcx
call fcn.18006efa0
cmp byte [0x18023aa12], bpl
je 0x180071029
mov r8, qword [0x18023aa18]
mov r9d, 0x8cbd
mov rcx, qword [rbx + r8*8 + 0x1c6fe8]
mov r8, qword [rbx + r8*8 + 0x1c7020]
mov rdx, rcx
call fcn.18006efa0
cmp byte [0x18023aa11], bpl
je 0x180071057
mov r8, qword [0x18023aa18]
mov r9d, 0xcc4d
mov rcx, qword [rbx + r8*8 + 0x1c6fe8]
mov r8, qword [rbx + r8*8 + 0x1c7020]
mov rdx, rcx
call fcn.18006efa0
cmp byte [0x18023aa10], bpl
je 0x180071085
mov r8, qword [0x18023aa18]
mov r9d, 0x3779
mov rcx, qword [rbx + r8*8 + 0x1c6fe8]
mov r8, qword [rbx + r8*8 + 0x1c7020]
mov rdx, rcx
call fcn.18006efa0
mov rcx, qword [0x1801c9230]
movzx r12d, byte [0x18023a9dd]
movzx r15d, byte [0x18023a9dc]
movzx r14d, byte [0x18023a9db]
movzx ebp, byte [0x18023a9da]
movzx esi, byte [0x18023a9d9]
movzx edi, byte [0x18023a9d8]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
xor r8d, r8d
mov qword [rsp + 0x110], r8
mov dword [rsp + 0x110], ebx
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rsp + 0x110], r8
mov byte [rsp + 0x110], dil
xor edi, edi
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], sil
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], bpl
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], r14b
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], r15b
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], r12b
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdi
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdi
inc dword [rcx + 8]
mov rdx, qword [0x1801c9230]
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0xfaee099c6f890bb8
mov rcx, qword [0x1801c9230]
call fcn.180014230
call fcn.18006f770
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf8]
cmp byte [0x18023a9d6], dil
mov rbp, qword [rsp + 0x120]
je 0x180071437
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
movabs rsi, 0x4f8644af03d0e0d6
mov rdx, rsi
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rdi
mov dword [rsp + 0x110], ebx
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x57fff03e423a4c0b
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180072610
test eax, eax
je 0x180071441
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800726f0
test eax, eax
je 0x180071441
mov rcx, qword [0x1801c9230]
sub dword [0x18023b2fc], 0xa
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rdi
mov dword [rsp + 0x110], ebx
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0xe83d4f9ba2a38914
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
movd xmm7, dword [0x18023b2fc]
cvtdq2ps xmm7, xmm7
mov rax, qword [rcx]
movss xmm6, dword [rax]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
movaps xmm3, xmm6
mov byte [rsp + 0x28], dil
movaps xmm2, xmm12
movaps xmm1, xmm7
mov dword [rsp + 0x20], edi
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.1800724c0
jmp 0x180071441
movabs rsi, 0x4f8644af03d0e0d6
cmp byte [0x18023a9d5], dil
movabs rbx, 0x7a5487fe9faa6b48
movaps xmm12, xmmword [rsp + 0x70]
je 0x1800714f4
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rsi
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
movsxd rax, dword [rcx]
imul rdx, rax, 0x1cf
mov rax, qword [0x1801c9348]
add rdx, 0x288e7b
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
mov rax, qword [rax + 0x70]
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov byte [rax + rdx*8], 1
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rbx
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8, qword [rax]
mov rax, qword [0x1801c9348]
mov rcx, qword [rax + 0x70]
mov eax, dword [r8]
mov rdx, qword [rcx + 0x50]
mov dword [rdx + 0x63e28], eax
cmp byte [0x18023a9d4], dil
je 0x180071596
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rsi
call fcn.180014230
mov rax, qword [0x1801c9230]
mov rcx, qword [rax]
imul eax, dword [rcx], 0x1cf
movsxd rdx, eax
mov rax, qword [0x1801c9348]
add rdx, 0x288e7d
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
and ecx, 0x3f
mov rax, qword [rax + 0x70]
mov rax, qword [rax + rcx*8]
mov byte [rax + rdx*8], 1
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, rbx
call fcn.180014230
mov rax, qword [0x1801c9230]
mov r8, qword [rax]
mov rax, qword [0x1801c9348]
mov rcx, qword [rax + 0x70]
mov eax, dword [r8]
mov rdx, qword [rcx + 0x50]
mov dword [rdx + 0x63e30], eax
call fcn.18006ec40
call fcn.18006e270
cmp byte [0x18023aa01], dil
movss xmm7, dword [0x18017712c]
movss xmm8, dword [0x180177198]
movss xmm6, dword [0x180177154]
mov rsi, qword [rsp + 0x128]
je 0x1800715cf
movaps xmm1, xmm7
jmp 0x1800715e1
cmp byte [0x18023aa02], dil
je 0x1800715dd
movaps xmm1, xmm6
jmp 0x1800715e1
movaps xmm1, xmm8
movabs rbx, 0x1d408577d440e81e
mov rcx, rbx
call fcn.1800729f0
cmp byte [0x18023aa02], dil
jne 0x18007160e
cmp byte [0x18023aa01], dil
je 0x18007160a
movaps xmm6, xmm7
jmp 0x18007160e
movaps xmm6, xmm8
movaps xmm1, xmm6
mov rcx, rbx
call fcn.1800729f0
mov rcx, qword [0x1801c9230]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
call fcn.1800141b0
cmp byte [0x18023a9d1], dil
je 0x180071676
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x110], rdi
mov byte [rsp + 0x110], 1
mov rax, qword [rsp + 0x110]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
jmp 0x18007168b
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdi
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
movabs rdx, 0xaeedad1420c65cc0
call fcn.180014230
cmp byte [0x18023a9d0], 0
mov rdi, qword [rsp + 0x100]
je 0x1800716fe
mov ebx, dword [0x18023b300]
mov rcx, qword [0x1801c9230]
add ebx, 0xc
mov dword [0x18023b300], ebx
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x8e2530aa8ada980e
call fcn.18006aa40
mov rcx, qword [0x1801c9230]
mov ebx, dword [0x1801c6f80]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
mov rdx, r13
call fcn.180014230
mov rax, qword [0x1801c9230]
xor r9d, r9d
mov r8d, ebx
mov rcx, qword [rax]
mov edx, dword [rcx]
movabs rcx, 0x44a0870b7e92d7c0
call fcn.180069fc0
movzx eax, byte [0x18023a9cf]
mov edx, 0x1ff
mov ecx, dword [0x18023a568]
test al, al
mov r13, qword [rsp + 0xf0]
mov r8d, 0x3f
mov rbx, qword [rsp + 0x118]
cmovne ecx, edx
movzx edx, byte [0x18023a9ce]
test dl, dl
cmovne ecx, r8d
mov dword [0x18023a568], ecx
test al, al
jne 0x180071794
test dl, dl
mov eax, 1
cmove ecx, eax
mov dword [0x18023a568], ecx
add rsp, 0x108
ret