Function at 0x180038d30
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x350]
sub rsp, 0x450
call fcn.18001d2a0
test rax, rax
je 0x180039ff0
mov qword [rsp + 0x448], rbx
call fcn.18001a1e0
mov rbx, rax
test rax, rax
je 0x180039fe8
mov rcx, qword gs:[0x58]
mov qword [rsp + 0x438], rdi
mov edi, dword [0x1802865cc]
mov r10d, 4
mov rdx, qword [rcx + rdi*8]
mov ecx, dword [r10 + rdx]
cmp dword [0x1802ada50], ecx
jle 0x180038dcd
lea rcx, [0x1802ada50]
call fcn.1800e1a98
cmp dword [0x1802ada50], 0xffffffff
jne 0x180038dc7
mov ecx, 0xae00109b
call fcn.1800119f0
lea rcx, [0x1802ada50]
mov qword [0x1802ad248], rax
call fcn.1800e1a2c
mov r10d, 4
mov rax, qword [0x1802ad248]
mov rax, qword [rbx + rax]
mov qword [rbp + 0x378], rax
test rax, rax
je 0x180039fe0
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x430], r12
xor r12d, r12d
cmp dword [rax + 0x10], r12d
jle 0x180039fd8
mov r9, qword gs:[0x58]
xor edx, edx
mov qword [rsp + 0x440], rsi
mov r8, rdi
mov qword [rsp + 0x418], r15
movabs rsi, 0x7fffffff0000
movaps xmmword [rsp + 0x400], xmm6
xorps xmm6, xmm6
movaps xmmword [rsp + 0x3c0], xmm10
movss xmm10, dword [0x180175150]
movaps xmmword [rsp + 0x3b0], xmm11
movss xmm11, dword [0x180175108]
mov qword [rsp + 0x428], r13
mov qword [rsp + 0x420], r14
movaps xmmword [rsp + 0x3f0], xmm7
movaps xmmword [rsp + 0x3e0], xmm8
movaps xmmword [rsp + 0x3d0], xmm9
mov qword [rbp + 0x368], rdi
mov qword [rbp + 0x360], rdx
mov rax, qword [rax + 0x18]
mov r15, qword [rax + rdx*8 + 0x20]
test r15, r15
je 0x180039f4c
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x180039f4c
mov r13, qword [rax + 0x30]
test r13, r13
je 0x180039f4c
lea rcx, [r13 + 0x60]
cmp rcx, 0x40000
jbe 0x180039f4c
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039f4c
mov r14, qword [rcx]
test r14, r14
je 0x180039f4c
mov rdi, qword [r9 + r8*8]
mov ebx, r10d
mov eax, dword [rdi + rbx]
cmp dword [0x1802ad93c], eax
jle 0x180038f31
lea rcx, [0x1802ad93c]
call fcn.1800e1a98
cmp dword [0x1802ad93c], 0xffffffff
jne 0x180038f2a
mov ecx, 0x33f7a6a3
call fcn.1800119f0
lea rcx, [0x1802ad93c]
mov qword [0x1802ad450], rax
call fcn.1800e1a2c
mov rdx, qword [rbp + 0x360]
mov rax, qword [0x1802ad450]
cmp byte [rax + r15], 0
jne 0x180039f4c
mov eax, dword [rdi + rbx]
cmp dword [0x1802ad9fc], eax
jle 0x180038f83
lea rcx, [0x1802ad9fc]
call fcn.1800e1a98
cmp dword [0x1802ad9fc], 0xffffffff
jne 0x180038f83
mov ecx, 0x8bb6774c
call fcn.18000ef10
mov rcx, qword [rax]
mov qword [0x1802ad9d8], rcx
lea rcx, [0x1802ad9fc]
call fcn.1800e1a2c
mov r8, r15
call fcn.18009bdf0
test rax, rax
je 0x180039f45
movabs rax, 0xd8adb553db5a314d
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x370], rax
movabs rdi, 0xae556ff668a21f06
mov rax, qword [rbp + 0x370]
mov rcx, r14
mov qword [rbp - 0x20], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
mov qword [rbp - 0x18], rax
movabs rax, 0xd8adb53fba395e01
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp + 0x58], rax
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x20], xmm0
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x180039f45
call fcn.18001d2a0
mov rcx, rax
call fcn.18001d120
mov r8, rax
lea rdx, [rax + 0xb0]
cmp rdx, 0x40000
jbe 0x180039058
lea rcx, [rdx + 8]
cmp rcx, rsi
jae 0x180039058
mov rsi, qword [rdx]
xor ebx, ebx
movabs r9, 0x7fffffff0000
jmp 0x180039078
xor ebx, ebx
mov esi, ebx
cmp rdx, 0x40000
jbe 0x1800390ab
lea rax, [rdx + 8]
movabs r9, 0x7fffffff0000
cmp rax, r9
jae 0x1800390ab
mov rcx, qword [rdx]
cmp rcx, 0x40000
jbe 0x1800390ab
lea rax, [rcx + 8]
cmp rax, r9
jae 0x1800390ab
mov rcx, qword [rcx]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x1800390ab
lea rax, [rcx + 8]
cmp rax, r9
jae 0x1800390ab
mov rcx, qword [rcx]
jmp 0x1800390ae
mov rcx, rbx
test r8, r8
je 0x1800391ec
test rcx, rcx
je 0x1800391ec
movabs rax, 0xbdc1d072df4a3f43
lea r9, [rbp - 0x10]
mov qword [rbp + 0x370], rax
movabs r10, 0xd8adb53fba395e01
mov rax, qword [rbp + 0x370]
sub r9, rcx
mov qword [rbp - 0x10], rax
movabs rax, 0xae556ff668a21f63
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp - 8], rax
mov qword [rbp + 0x370], r10
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp - 0x10]
mov qword [rbp + 0x68], rax
mov rax, rcx
xorps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp - 0x10], xmm0
nop
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x180039155
inc rax
test edx, edx
jne 0x180039140
test r8d, r8d
jne 0x1800391e7
movabs rax, 0xb5c0d457d15a3f4b
lea r8, [rbp]
mov qword [rbp + 0x370], rax
sub r8, rcx
mov rax, qword [rbp + 0x370]
mov qword [rbp], rax
movabs rax, 0xae556ff668a26d63
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 8], rax
mov qword [rbp + 0x370], r10
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x78], rax
xorps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp], xmm0
nop
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x1800391e3
inc rcx
test eax, eax
jne 0x1800391d0
test edx, edx
je 0x1800391ec
mov dil, 1
jmp 0x1800391ef
xor dil, dil
mov rcx, r15
call fcn.18001a410
test al, al
je 0x180039733
cmp byte [0x180286dee], 0
je 0x180039451
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x1800392d5
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x1800392d5
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800392d5
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x1800392d5
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800392d5
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800392d5
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800392d5
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800392d5
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800392d5
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x1800392c3
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x1800392c3
movsd xmm0, qword [rcx]
movss xmm7, dword [rcx + 8]
movaps xmm8, xmm0
movsd qword [rbp + 0xb0], xmm0
movss xmm9, dword [rbp + 0xb0]
shufps xmm8, xmm8, 0x55
movss dword [rbp - 0x64], xmm7
jmp 0x1800392e5
movaps xmm7, xmm6
movaps xmm8, xmm6
movss dword [rbp - 0x64], xmm7
movaps xmm9, xmm6
jmp 0x1800392e5
movss dword [rbp - 0x64], xmm6
movaps xmm9, xmm6
movaps xmm8, xmm6
movaps xmm7, xmm6
call fcn.18001d2a0
mov r9, qword [0x180286ce0]
lea r8, [rbp + 0x30]
movaps xmm0, xmm9
movss dword [rbp + 0x38], xmm7
unpcklps xmm0, xmm8
lea rcx, [rbp - 0x50]
add r9, 0x623690
movsd qword [rbp - 0x6c], xmm0
mov rdx, rax
movsd qword [rbp + 0x30], xmm0
call r9
cmp byte [0x180286dee], 0
je 0x180039451
lea rcx, [r15 + 0x8f0]
movabs rdx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x180039351
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x180039351
mov eax, dword [rcx]
jmp 0x180039353
xor eax, eax
shr eax, 6
test al, 1
je 0x180039451
test rbx, rbx
je 0x1800393dd
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x1800393dd
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800393dd
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800393dd
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800393dd
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800393dd
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800393dd
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x1800393dd
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x1800393dd
movsd xmm1, qword [rcx]
movss xmm4, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm3, xmm0
movsd qword [rbp + 0xc0], xmm1
movss xmm0, dword [rbp + 0xc0]
jmp 0x1800393e6
movaps xmm4, xmm6
movaps xmm3, xmm6
movaps xmm0, xmm6
movss xmm1, dword [rbp - 0x50]
movss xmm2, dword [rbp - 0x4c]
subss xmm1, xmm0
movss xmm0, dword [rbp - 0x48]
subss xmm2, xmm3
subss xmm0, xmm4
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm10
jae 0x180039451
mov ecx, dword [0x180286e44]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180039451
mov rcx, r15
call fcn.180028050
cmp byte [0x180286dc3], 0
je 0x180039451
mov rdx, r15
call fcn.18001c8a0
test al, al
je 0x180039451
mov rcx, r15
call fcn.180028050
cmp byte [0x180286d17], 0
je 0x180039733
test dil, dil
je 0x180039733
call fcn.18001d2a0
lea rcx, [rax + 0xb8]
cmp rcx, 0x40000
jbe 0x180039569
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x180039569
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180039569
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180039569
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180039569
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180039569
mov rbx, qword [rcx]
test rbx, rbx
je 0x180039569
mov rax, qword [rbp + 0x368]
mov rdx, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rdx + rax*8]
mov ecx, dword [rcx + rax]
cmp dword [0x1802ad528], ecx
jle 0x180039541
lea rcx, [0x1802ad528]
call fcn.1800e1a98
cmp dword [0x1802ad528], 0xffffffff
jne 0x180039541
mov ecx, 0x56e64b7d
call fcn.18000ef10
mov rcx, qword [rax]
mov qword [0x1802ad3f0], rcx
lea rcx, [0x1802ad528]
call fcn.1800e1a2c
mov rdx, qword [0x1802ad3f0]
lea r8, [rbp - 0x40]
mov r9, rbx
mov qword [rbp - 0x40], 0
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x38], 0
call fcn.18009bd30
jmp 0x180039578
mov qword [rbp - 0x78], 0
mov dword [rbp - 0x70], 0
movsd xmm0, qword [rbp - 0x78]
lea rcx, [r15 + 0xb8]
mov edi, dword [rbp - 0x70]
movsd qword [rbp + 0x40], xmm0
cmp rcx, 0x40000
jbe 0x180039695
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x180039695
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180039695
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180039695
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180039695
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180039695
mov rbx, qword [rcx]
test rbx, rbx
je 0x180039695
mov rax, qword [rbp + 0x368]
mov rdx, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rdx + rax*8]
mov ecx, dword [rcx + rax]
cmp dword [0x1802ad528], ecx
jle 0x18003965a
lea rcx, [0x1802ad528]
call fcn.1800e1a98
cmp dword [0x1802ad528], 0xffffffff
jne 0x18003965a
mov ecx, 0x56e64b7d
call fcn.18000ef10
mov rcx, qword [rax]
mov qword [0x1802ad3f0], rcx
lea rcx, [0x1802ad528]
call fcn.1800e1a2c
mov rdx, qword [0x1802ad3f0]
lea r8, [rbp - 0x30]
mov r9, rbx
mov qword [rbp - 0x30], 0
lea rcx, [rsp + 0x58]
mov dword [rbp - 0x28], 0
call fcn.18009bd30
movss xmm2, dword [rsp + 0x60]
movss xmm1, dword [rsp + 0x5c]
movss xmm3, dword [rsp + 0x58]
jmp 0x1800396b0
movss dword [rsp + 0x58], xmm6
movaps xmm3, xmm6
movss dword [rsp + 0x5c], xmm6
movaps xmm1, xmm6
movss dword [rsp + 0x60], xmm6
movaps xmm2, xmm6
subss xmm1, dword [rbp + 0x44]
subss xmm3, dword [rbp + 0x40]
movd xmm0, edi
subss xmm2, xmm0
xorps xmm0, xmm0
mulss xmm1, xmm1
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm1, xmm3
addss xmm1, xmm2
sqrtss xmm0, xmm1
comiss xmm0, xmm11
ja 0x180039733
mov r8, rsi
lea rcx, [rbp + 0x110]
mov rdx, r15
call fcn.18001ea50
movups xmm0, xmmword [rbp + 0x110]
mov r8b, 1
mov rdx, rsi
movups xmm1, xmmword [rbp + 0x120]
lea rcx, [rbp + 0x140]
movaps xmmword [rbp + 0x140], xmm0
movsd xmm0, qword [rbp + 0x130]
movsd qword [rbp + 0x160], xmm0
movaps xmmword [rbp + 0x150], xmm1
call fcn.1800276a0
cmp byte [0x180286db2], 0
movabs rsi, 0xd8adb53fba395e01
movabs rdi, 0xae556ff668a21f06
je 0x180039bf3
movabs rax, 0xacced053d6563d2e
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x370], rax
mov rcx, r14
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x10], rax
movabs rax, 0xae556fd90dce7d67
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x370], rsi
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x88], rax
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x10], xmm0
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x180039bf3
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x1800399dc
lea rax, [rcx + 8]
movabs rdi, 0x7fffffff0000
cmp rax, rdi
jae 0x1800399dc
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800399dc
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180039910
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180039910
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039910
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800398f7
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800398f7
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800398f7
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x1800398a2
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x1800398a2
movsd xmm0, qword [rcx]
movss xmm8, dword [rcx + 8]
movaps xmm7, xmm0
movsd qword [rbp + 0xd0], xmm0
movss xmm9, dword [rbp + 0xd0]
shufps xmm7, xmm7, 0x55
jmp 0x1800398ad
movaps xmm8, xmm6
movaps xmm7, xmm6
movaps xmm9, xmm6
movss dword [rsp + 0x48], xmm8
call fcn.18001d2a0
movaps xmm0, xmm9
movss dword [rsp + 0x28], xmm8
unpcklps xmm0, xmm7
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x20]
add r9, 0x623690
movsd qword [rsp + 0x20], xmm0
mov rdx, rax
movsd qword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x68]
call r9
lea rcx, [rbx + 8]
jmp 0x180039962
movss dword [rsp + 0x48], xmm6
call fcn.18001d2a0
movaps xmm0, xmm6
movss dword [rsp + 0x28], xmm6
unpcklps xmm0, xmm6
jmp 0x1800398c7
movss dword [rsp + 0x48], xmm6
call fcn.18001d2a0
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x20]
movaps xmm0, xmm6
movss dword [rsp + 0x28], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x68]
add r9, 0x623690
movsd qword [rsp + 0x40], xmm0
mov rdx, rax
movsd qword [rsp + 0x20], xmm0
call r9
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180039a1d
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180039a1d
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039a1d
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180039a1d
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180039a1d
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039a1d
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180039a1d
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180039a1d
movsd xmm0, qword [rcx]
movss xmm4, dword [rcx + 8]
movaps xmm3, xmm0
movsd qword [rbp + 0xe0], xmm0
movss xmm2, dword [rbp + 0xe0]
shufps xmm3, xmm3, 0x55
jmp 0x180039a26
movss dword [rsp + 0x48], xmm6
call fcn.18001d2a0
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x20]
movaps xmm0, xmm6
movss dword [rsp + 0x28], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x68]
add r9, 0x623690
movsd qword [rsp + 0x40], xmm0
mov rdx, rax
movsd qword [rsp + 0x20], xmm0
call r9
movaps xmm4, xmm6
movaps xmm3, xmm6
movaps xmm2, xmm6
movss xmm1, dword [rsp + 0x68]
movabs rdi, 0xae556ff668a21f06
movss xmm0, dword [rsp + 0x70]
subss xmm1, xmm2
movss xmm2, dword [rsp + 0x6c]
subss xmm0, xmm4
subss xmm2, xmm3
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm10
jae 0x180039bf3
movabs rax, 0xd8c6b55cba505e51
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp - 0x60], rax
movabs rax, 0xae556ff668d21f73
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x370], rsi
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp - 0x60]
mov qword [rbp + 0x98], rax
mov rax, 0xffffffffffffffff
xorps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp - 0x60], xmm0
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x180039af0
mov r8d, 0x40
cmp rax, r8
cmovb r8d, eax
xor ebx, ebx
mov dword [rbp + 0x180], r8d
mov edx, ebx
test r8d, r8d
jle 0x180039b3f
mov ecx, ebx
nop dword [rax]
movzx eax, word [rbp + rcx - 0x60]
inc edx
mov word [rbp + rcx + 0x184], ax
lea rcx, [rcx + 2]
mov r8d, dword [rbp + 0x180]
cmp edx, r8d
jl 0x180039b20
movsxd rax, r8d
lea rdx, [rbp + 0x210]
mov rcx, r15
mov word [rbp + rax*2 + 0x184], bx
movups xmm0, xmmword [rbp + 0x170]
mov rax, qword [0x180286ce0]
movups xmm1, xmmword [rbp + 0x180]
add rax, 0x62dd20
movaps xmmword [rbp + 0x210], xmm0
movups xmm0, xmmword [rbp + 0x190]
movaps xmmword [rbp + 0x220], xmm1
movups xmm1, xmmword [rbp + 0x1a0]
movaps xmmword [rbp + 0x230], xmm0
movups xmm0, xmmword [rbp + 0x1b0]
movaps xmmword [rbp + 0x240], xmm1
movups xmm1, xmmword [rbp + 0x1c0]
movaps xmmword [rbp + 0x250], xmm0
movups xmm0, xmmword [rbp + 0x1d0]
movaps xmmword [rbp + 0x260], xmm1
movups xmm1, xmmword [rbp + 0x1e0]
movaps xmmword [rbp + 0x270], xmm0
movups xmm0, xmmword [rbp + 0x1f0]
movaps xmmword [rbp + 0x280], xmm1
movsd xmm1, qword [rbp + 0x200]
movaps xmmword [rbp + 0x290], xmm0
movsd qword [rbp + 0x2a0], xmm1
call rax
jmp 0x180039bf5
xor ebx, ebx
cmp byte [0x180286dc1], 0
je 0x180039f3b
movabs rax, 0xd8adb53fc8563145
mov qword [rbp + 0x370], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x370], rsi
movabs rsi, 0x7fffffff0000
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x370], rdi
mov rax, qword [rbp + 0x370]
movdqa xmm0, xmmword [rbp + 0x20]
mov qword [rbp + 0xa8], rax
xorps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x20], xmm0
cmp r15, 0x40000
jbe 0x180039ca5
lea rax, [r15 + 8]
cmp rax, rsi
jae 0x180039ca5
mov rcx, qword [r15]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x180039ca5
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039ca5
mov rcx, qword [rcx]
jmp 0x180039ca8
mov rcx, rbx
lea rdx, [rbp + 0x20]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x180039f45
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x180039eb0
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039eb0
mov rbx, qword [rcx]
test rbx, rbx
je 0x180039eb0
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180039de4
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039de4
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039de4
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180039dcb
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039dcb
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039dcb
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180039d76
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x180039d76
movsd xmm0, qword [rcx]
movss xmm8, dword [rcx + 8]
movaps xmm7, xmm0
movsd qword [rbp + 0xf0], xmm0
movss xmm9, dword [rbp + 0xf0]
shufps xmm7, xmm7, 0x55
jmp 0x180039d81
movaps xmm8, xmm6
movaps xmm7, xmm6
movaps xmm9, xmm6
movss dword [rsp + 0x54], xmm8
call fcn.18001d2a0
movaps xmm0, xmm9
movss dword [rsp + 0x38], xmm8
unpcklps xmm0, xmm7
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x30]
add r9, 0x623690
movsd qword [rsp + 0x30], xmm0
mov rdx, rax
movsd qword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x78]
call r9
lea rcx, [rbx + 8]
jmp 0x180039e36
movss dword [rsp + 0x54], xmm6
call fcn.18001d2a0
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
jmp 0x180039d9b
movss dword [rsp + 0x54], xmm6
call fcn.18001d2a0
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x30]
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x78]
add r9, 0x623690
movsd qword [rsp + 0x4c], xmm0
mov rdx, rax
movsd qword [rsp + 0x30], xmm0
call r9
lea rcx, [rbx + 8]
cmp rcx, 0x40000
jbe 0x180039ef1
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039ef1
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039ef1
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180039ef1
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180039ef1
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039ef1
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180039ef1
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x180039ef1
movsd xmm0, qword [rcx]
movss xmm4, dword [rcx + 8]
movaps xmm3, xmm0
movsd qword [rbp + 0x100], xmm0
movss xmm2, dword [rbp + 0x100]
shufps xmm3, xmm3, 0x55
jmp 0x180039efa
movss dword [rsp + 0x54], xmm6
call fcn.18001d2a0
mov r9, qword [0x180286ce0]
lea r8, [rsp + 0x30]
movaps xmm0, xmm6
movss dword [rsp + 0x38], xmm6
unpcklps xmm0, xmm6
lea rcx, [rsp + 0x78]
add r9, 0x623690
movsd qword [rsp + 0x4c], xmm0
mov rdx, rax
movsd qword [rsp + 0x30], xmm0
call r9
movaps xmm4, xmm6
movaps xmm3, xmm6
movaps xmm2, xmm6
movss xmm1, dword [rsp + 0x78]
movss xmm0, dword [rbp - 0x80]
subss xmm1, xmm2
movss xmm2, dword [rsp + 0x7c]
subss xmm0, xmm4
subss xmm2, xmm3
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, xmm10
jae 0x180039f45
mov rcx, r15
call fcn.180027ce0
jmp 0x180039f45
movabs rsi, 0x7fffffff0000
mov rdx, qword [rbp + 0x360]
mov rax, qword [rbp + 0x378]
inc rdx
mov r8, qword [rbp + 0x368]
inc r12d
mov r9, qword gs:[0x58]
mov qword [rbp + 0x360], rdx
mov rax, qword [rax + 0x28]
mov r10d, 4
cmp r12d, dword [rax + 0x10]
jl 0x180038e90
movaps xmm11, xmmword [rsp + 0x3b0]
movaps xmm10, xmmword [rsp + 0x3c0]
movaps xmm9, xmmword [rsp + 0x3d0]
movaps xmm8, xmmword [rsp + 0x3e0]
movaps xmm7, xmmword [rsp + 0x3f0]
movaps xmm6, xmmword [rsp + 0x400]
mov r15, qword [rsp + 0x418]
mov r14, qword [rsp + 0x420]
mov r13, qword [rsp + 0x428]
mov rsi, qword [rsp + 0x440]
mov r12, qword [rsp + 0x430]
mov rdi, qword [rsp + 0x438]
mov rbx, qword [rsp + 0x448]
add rsp, 0x450
pop rbp
ret