Function at 0x140004620
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3b88]
mov eax, 0x3c88
call fcn.14003b000
sub rsp, rax
movaps xmmword [rsp + 0x3c70], xmm6
movaps xmmword [rsp + 0x3c60], xmm7
movaps xmmword [rsp + 0x3c50], xmm8
movaps xmmword [rsp + 0x3c40], xmm9
movaps xmmword [rsp + 0x3c30], xmm10
movaps xmmword [rsp + 0x3c20], xmm11
movaps xmmword [rsp + 0x3c10], xmm12
movaps xmmword [rsp + 0x3c00], xmm13
movaps xmmword [rsp + 0x3bf0], xmm14
movaps xmmword [rsp + 0x3be0], xmm15
xor r15d, r15d
mov dword [rbp + 0x3be0], r15d
mov rdx, qword [0x1400504e0]
add rdx, 8
lea rcx, [rbp + 0x200]
call fcn.140001e50
nop
mov rax, qword [0x1400504e0]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14000e9f0
mov r12, rax
mov qword [rbp + 0x18], rax
mov rcx, qword [0x140050490]
mov rdx, qword [rcx + 0x38]
add rdx, 0xc8
mov qword [rbp + 0x3bd0], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [rbp + 0x3bd0]
add rdx, 0x38
mov qword [rbp + 0x3bd8], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [rbp + 0x3bd8]
lea rcx, [rbp + 0x98]
call fcn.140002410
mov rax, qword [0x140050490]
mov rdx, qword [rax + 0x48]
add rdx, 0x5e0
mov qword [rbp + 0x3bd0], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rax, qword [0x140050490]
mov rdx, qword [rax + 0x48]
add rdx, 0x838
mov dword [rbp + 0x3bd0], r15d
mov qword [rsp + 0x20], 4
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
lea ecx, [r15 + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov dword [rbp + 0x3bd0], 0x42480000
mov dword [rbp + 0x3bd4], 0x42480000
mov dword [rsp + 0x28], 0x59
movss xmm0, dword [0x1400486b8]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x1400486c4]
lea rdx, [rbp + 0x3bd0]
mov rcx, r12
call fcn.14002d6a0
movss xmm10, dword [0x140048688]
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], 1
mov r9d, 0xffffffff
mov r8d, dword [r12 + 0x78]
mov rdx, qword [r12 + 0x80]
mov rcx, r12
call fcn.14002bce0
mov dword [r12 + 0x78], r15d
mov r13, qword [0x140050530]
mov qword [rbp + 0x20], r13
mov rsi, qword [0x140050538]
mov qword [rbp - 0x78], rsi
cmp r13, rsi
je 0x140005766
movss xmm7, dword [0x140048718]
movss xmm8, dword [0x140048738]
movss xmm6, dword [0x140048720]
movss xmm9, dword [0x140048630]
nop dword [rax]
mov r13, qword [r13]
test r13, r13
je 0x140005751
mov rax, qword [0x140050420]
cmp qword [r13 + 0x48], rax
je 0x140005751
mov rdx, qword [r13 + 0x38]
add rdx, 0xc8
mov qword [rbp + 0x3bd0], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [r13 + 0x48]
add rdx, 0x5e0
mov qword [rbp + 0x3bd8], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdi, qword [rbp + 0x3bd0]
lea rdx, [rdi + 0x50]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x60]
mov rcx, qword [0x1400504c8]
call fcn.140008360
test rdi, rdi
je 0x140005751
mov rbx, qword [rbp + 0x3bd8]
test rbx, rbx
je 0x140005751
lea rdx, [rbx + 0x249]
mov byte [rbp + 0x3bd0], 0
mov qword [rsp + 0x20], 1
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
cmp byte [rbp + 0x3bd0], 0
jne 0x140005751
lea rdx, [rdi + 0x28]
mov qword [rbp + 0x3bd0], r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
cmp qword [rbp + 0x3bd0], 0
je 0x140005751
lea rdx, [rbx + 0x23c]
mov byte [rbp + 0x3bd0], 0
mov qword [rsp + 0x20], 1
lea r9, [rbp + 0x3bd0]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rsi, qword [0x140050500]
mov r14, qword [0x140050508]
mov r15, qword [rsp + 0x60]
cmp rsi, r14
je 0x140004bdf
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor ebx, ebx
mov qword [rbp - 0x60], rbx
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
sar rdx, 2
test rdx, rdx
je 0x140004a52
lea rcx, [rbp - 0x70]
call fcn.140003d80
mov rbx, qword [rsi + 8]
mov rdx, qword [rsi]
sub rbx, rdx
mov r8, rbx
mov rdi, qword [rbp - 0x70]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x68], rax
mov rbx, qword [rbp - 0x60]
jmp 0x140004a56
mov rdi, qword [rbp - 0x70]
mov eax, dword [rdi]
mov qword [rbp + 0x3bd8], 0
lea eax, [rax*8]
movsxd rdx, eax
add rdx, 0x20
add rdx, r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [rbp + 0x3bd8]
lea rcx, [rbp + 0xb8]
call fcn.140002410
mov eax, dword [rdi + 4]
mov qword [rbp + 0x3bd8], 0
lea eax, [rax*8]
movsxd rdx, eax
add rdx, 0x20
add rdx, r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [rbp + 0x3bd8]
lea rcx, [rbp + 0x98]
call fcn.140002410
mov qword [rsp + 0x68], 0
mov qword [rbp + 0x3be8], 0
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xb8]
call fcn.140001c40
test al, al
je 0x140004b96
lea rdx, [rbp + 0x3be8]
lea rcx, [rbp + 0x98]
call fcn.140001c40
test al, al
je 0x140004b96
cmp byte [0x14005048c], 0
je 0x140004b6b
lea rcx, [0x140050068]
call fcn.14000b360
mov r9d, eax
movss xmm0, dword [0x14004869c]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x3be8]
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.14002dff0
lea rcx, [0x140050058]
call fcn.14000b360
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea r8, [rbp + 0x3be8]
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.14002dff0
nop
sub rbx, rdi
sar rbx, 2
lea rdx, [rbx*4]
cmp rdx, 0x1000
mov rax, rdi
jb 0x140004bca
mov rdi, qword [rdi - 8]
sub rax, rdi
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400057e1
mov rcx, rdi
call fcn.14003a5ec
add rsi, 0x18
cmp rsi, r14
jne 0x140004a00
movaps xmm13, xmm7
movss dword [rbp - 0x80], xmm7
movaps xmm15, xmm7
movss dword [rbp - 0x7c], xmm7
movaps xmm14, xmm8
movss dword [rsp + 0x78], xmm8
movaps xmm12, xmm8
movss dword [rsp + 0x7c], xmm8
xor bl, bl
mov rsi, qword [0x1400504f0]
mov rdi, qword [0x1400504e8]
cmp rdi, rsi
je 0x14000574a
mov eax, dword [rdi]
mov qword [rbp + 0x3bd8], 0
lea eax, [rax*8]
movsxd rdx, eax
add rdx, 0x20
add rdx, r15
mov qword [rsp + 0x20], 8
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov rdx, qword [rbp + 0x3bd8]
lea rcx, [rbp + 0x58]
call fcn.140002410
movaps xmm1, xmm6
movss dword [rbp + 0x3bd8], xmm6
movss xmm11, dword [rbp + 0x60]
nop dword [rax + rax]
movaps xmm10, xmm6
movss xmm0, dword [rbp + 0x58]
addss xmm0, xmm1
movss dword [rbp + 0x68], xmm0
movaps xmm8, xmm6
movss xmm0, dword [rbp + 0x5c]
addss xmm0, xmm10
movss dword [rbp + 0x6c], xmm0
nop word [rax + rax]
mov qword [rsp + 0x70], 0
movaps xmm1, xmm11
addss xmm1, xmm8
movss dword [rbp + 0x70], xmm1
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x68]
call fcn.140001c40
test al, al
je 0x140004d2b
movss xmm7, dword [rsp + 0x70]
movaps xmm1, xmm7
movaps xmm0, xmm13
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fminf]
movaps xmm13, xmm0
movss xmm6, dword [rsp + 0x74]
movaps xmm1, xmm6
movaps xmm0, xmm15
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fminf]
movaps xmm15, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm14
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movaps xmm14, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm12
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmaxf]
movaps xmm12, xmm0
mov bl, 1
addss xmm8, xmm9
comiss xmm9, xmm8
jae 0x140004cb0
movss dword [rsp + 0x7c], xmm12
movss dword [rbp - 0x80], xmm13
movss dword [rsp + 0x78], xmm14
movss dword [rbp - 0x7c], xmm15
addss xmm10, xmm9
comiss xmm9, xmm10
movss xmm6, dword [0x140048720]
jae 0x140004c92
movss xmm1, dword [rbp + 0x3bd8]
addss xmm1, xmm9
movss dword [rbp + 0x3bd8], xmm1
comiss xmm9, xmm1
jae 0x140004c80
add rdi, 4
cmp rdi, rsi
jne 0x140004c20
test bl, bl
je 0x140005728
cmp byte [0x140050489], 0
je 0x140004ddd
lea rcx, [0x140050090]
call fcn.14000b360
mov r9d, eax
xor r15d, r15d
mov dword [rsp + 0x28], r15d
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm8
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x80]
mov rcx, r12
call fcn.14002e260
jmp 0x140004de4
xorps xmm8, xmm8
xor r15d, r15d
lea rcx, [0x140050068]
call fcn.14000b360
mov ebx, eax
test eax, 0xff000000
je 0x140004ed0
movaps xmm1, xmm12
movaps xmm0, xmm14
movaps xmm2, xmm15
mov dword [rsp + 0x20], r15d
xorps xmm3, xmm3
mov rcx, r12
test byte [r12 + 0x30], 1
je 0x140004e56
movss xmm6, dword [0x140048654]
subss xmm1, xmm6
subss xmm0, xmm6
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
addss xmm2, xmm6
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm2
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x30]
jmp 0x140004e96
subss xmm1, dword [0x140048650]
subss xmm0, dword [0x140048650]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
addss xmm2, dword [0x140048654]
movaps xmm0, xmm13
addss xmm0, dword [0x140048654]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm2
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x30]
call fcn.14002dad0
movss xmm6, dword [0x14004869c]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, dword [r12 + 0x78]
mov rdx, qword [r12 + 0x80]
mov rcx, r12
call fcn.14002bce0
mov dword [r12 + 0x78], r15d
jmp 0x140004ed8
movss xmm6, dword [0x14004869c]
movzx edi, byte [rbp + 0x3bd0]
lea rcx, [0x1400500a0]
test dil, dil
lea rax, [0x140050080]
cmovne rcx, rax
call fcn.14000b360
mov ebx, eax
test eax, 0xff000000
je 0x140004fdb
movaps xmm1, xmm12
movaps xmm0, xmm14
movaps xmm2, xmm15
mov dword [rsp + 0x20], r15d
mov rcx, r12
test byte [r12 + 0x30], 1
je 0x140004f5c
movss xmm3, dword [0x140048654]
subss xmm1, xmm3
subss xmm0, xmm3
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
addss xmm2, xmm3
movaps xmm0, xmm13
addss xmm0, xmm3
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm2
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x20]
jmp 0x140004f9c
subss xmm1, dword [0x140048650]
subss xmm0, dword [0x140048650]
movss dword [rbp - 0x18], xmm0
movss dword [rbp - 0x14], xmm1
addss xmm2, dword [0x140048654]
movaps xmm0, xmm13
addss xmm0, dword [0x140048654]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm2
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x10]
xorps xmm3, xmm3
call fcn.14002dad0
movss xmm10, dword [0x140048688]
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], 1
mov r9d, ebx
mov r8d, dword [r12 + 0x78]
mov rdx, qword [r12 + 0x80]
mov rcx, r12
call fcn.14002bce0
mov dword [r12 + 0x78], r15d
jmp 0x140004fe4
movss xmm10, dword [0x140048688]
movss xmm7, dword [0x140048654]
cmp byte [0x14005048a], 0
je 0x1400050ae
movaps xmm0, xmm14
subss xmm0, xmm13
mulss xmm0, xmm7
addss xmm0, xmm13
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm12
cmp byte [0x140050488], 0
je 0x140005066
lea rcx, [0x140050068]
call fcn.14000b360
movss xmm1, dword [rbp + 0x20c]
mulss xmm1, xmm7
movss xmm0, dword [rbp + 0x208]
mulss xmm0, xmm7
movss dword [rbp - 8], xmm0
movss dword [rbp - 4], xmm1
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 8]
mov rcx, r12
call fcn.14002dff0
lea rcx, [0x140050048]
call fcn.14000b360
movss xmm1, dword [rbp + 0x20c]
mulss xmm1, xmm7
movss xmm0, dword [rbp + 0x208]
mulss xmm0, xmm7
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm1
movss dword [rsp + 0x20], xmm10
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp]
mov rcx, r12
call fcn.14002dff0
mov rdx, qword [r13 + 0x48]
add rdx, 0x898
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x20], 8
lea r9, [rsp + 0x60]
mov rcx, qword [0x1400504c8]
call fcn.140008360
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
mov rdx, qword [rsp + 0x60]
add rdx, 0x14
mov qword [rsp + 0x20], 0x80
lea r9, [rbp + 0x100]
mov rcx, qword [0x1400504c8]
call fcn.140008360
lea rcx, [rbp + 0x180]
call fcn.140006ad0
nop
lea r9, [rbp + 0x100]
cmp word [rbp + 0x100], 0
je 0x14000516b
nop word [rax + rax]
add r9, 2
cmp word [r9], 0
jne 0x140005160
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.140006d80
or dword [rbp + 0x3be0], 3
lea rcx, [rbp + 0x180]
call fcn.1400069e0
nop
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x78]
mov r8, qword [rbp + 0x90]
cmp r8, 0x10
cmovae rcx, rdx
mov rax, qword [0x1400504e0]
movss xmm4, dword [rax + 0x3d38]
movss xmm11, dword [0x14004872c]
movss xmm12, dword [0x14004871c]
test rcx, rcx
jne 0x1400051d5
movaps xmm3, xmm8
jmp 0x14000522a
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movaps xmm2, xmm4
lea rdx, [rbp - 0x48]
mov rcx, qword [rax + 0x3d30]
call fcn.140032370
movss xmm0, dword [rbp - 0x48]
addss xmm0, dword [0x140048680]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss dword [rbp - 0x48], xmm3
movss xmm4, dword [rbp - 0x44]
mov r8, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x78]
movaps xmm0, xmmword [0x140048a90]
movups xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [0x140048a50]
movups xmmword [rbp + 0xa8], xmm1
lea r14, [rbp - 0x70]
lea rax, [rbp + 0xa8]
test dil, dil
cmovne r14, rax
movaps xmm2, xmm15
subss xmm2, xmm4
mulss xmm3, xmm7
movaps xmm1, xmm13
subss xmm1, xmm3
movaps xmm0, xmm14
subss xmm0, xmm13
mulss xmm0, xmm7
addss xmm1, xmm0
movss dword [rbp + 8], xmm1
movss dword [rbp + 0xc], xmm2
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov rdi, qword [rbp + 0x88]
lea rsi, [rbp + 0x78]
cmp r8, 0x10
cmovae rsi, rdx
cmp rdi, 0x10
jae 0x1400052bf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x58], 0xf
jmp 0x14000533b
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140005313
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400057ee
mov rcx, rax
call fcn.14003a288
mov rcx, rax
test rax, rax
je 0x1400057c5
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140005322
test rcx, rcx
je 0x14000531f
call fcn.14003a288
jmp 0x140005322
mov rax, r15
mov qword [rsp + 0x40], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rdi
movups xmm0, xmmword [r14]
movaps xmmword [rbp - 0x70], xmm0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 8]
lea r8, [rsp + 0x40]
mov rdx, qword [0x1400504c0]
mov rcx, r12
call fcn.140004220
mov rdx, qword [r13 + 0x48]
add rdx, 0x838
mov dword [rbp + 0x3bd8], r15d
mov qword [rsp + 0x20], 4
lea r9, [rbp + 0x3bd8]
mov rcx, qword [0x1400504c8]
call fcn.140008360
mov r13, qword [0x140050518]
mov rax, qword [0x140050520]
mov qword [rbp + 0xa8], rax
cmp r13, rax
je 0x1400056cf
nop word [rax + rax]
mov rdx, r13
lea rcx, [rbp + 0xc8]
call fcn.140004030
movups xmm7, xmmword [r13 + 0x20]
movups xmmword [rbp + 0xe8], xmm7
mov r14d, dword [r13 + 0x30]
mov dword [rbp + 0xf8], r14d
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
lea rsi, [rbp + 0xc8]
mov r12, qword [rbp + 0xe0]
cmp r12, 0x10
setae byte [rbp + 0x3bd0]
mov r15, qword [rbp + 0xc8]
cmovae rsi, r15
mov rdi, qword [rbp + 0xd8]
cmp rdi, 0x10
jae 0x140005435
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x40], xmm0
mov ebx, 0xf
jmp 0x1400054ab
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140005489
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400057f4
mov rcx, rax
call fcn.14003a288
mov rcx, rax
test rax, rax
je 0x1400057d3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140005497
test rcx, rcx
je 0x140005495
call fcn.14003a288
jmp 0x140005497
xor eax, eax
mov qword [rsp + 0x40], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rdi
test dword [rbp + 0x3bd8], r14d
je 0x14000563f
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x40]
cmp rbx, 0x10
cmovae rcx, rdx
mov rax, qword [0x1400504e0]
movss xmm6, dword [rax + 0x3d38]
test rcx, rcx
je 0x140005545
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm12
movaps xmm2, xmm6
lea rdx, [rbp - 0x40]
mov rcx, qword [rax + 0x3d30]
call fcn.140032370
movss xmm0, dword [rbp - 0x40]
addss xmm0, dword [0x140048680]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x40], xmm0
movss xmm6, dword [rbp - 0x3c]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
movaps xmm1, xmm8
addss xmm1, xmm15
movaps xmm0, xmm14
addss xmm0, dword [0x1400486b4]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
xor eax, eax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
lea rsi, [rsp + 0x40]
cmp rbx, 0x10
cmovae rsi, rdx
cmp rdi, 0x10
jae 0x140005596
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x50], 0xf
jmp 0x14000560b
mov rbx, rdi
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400055ea
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400057e8
mov rcx, rax
call fcn.14003a288
mov rcx, rax
test rax, rax
je 0x1400057cc
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400055f4
test rcx, rcx
je 0x1400055f4
call fcn.14003a288
mov qword [rbp + 0x38], rax
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x48], rdi
movdqa xmmword [rbp - 0x70], xmm7
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x10]
lea r8, [rbp + 0x38]
mov rdx, qword [0x1400504b8]
mov rcx, qword [rbp + 0x18]
call fcn.140004220
addss xmm8, xmm6
mov rbx, qword [rsp + 0x58]
cmp rbx, 0x10
jb 0x140005679
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400057d3
call fcn.14003a5ec
nop
cmp byte [rbp + 0x3bd0], 0
je 0x1400056b4
lea rdx, [r12 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400056ac
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400057da
mov rcx, r15
call fcn.14003a5ec
add r13, 0x38
cmp r13, qword [rbp + 0xa8]
mov r15d, 0
jne 0x1400053c0
mov r12, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x14000570d
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005708
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400057e1
call fcn.14003a5ec
movss xmm6, dword [0x140048720]
movss xmm7, dword [0x140048718]
movss xmm8, dword [0x140048738]
jmp 0x14000574d
movss xmm6, dword [0x140048720]
movss xmm10, dword [0x140048688]
movss xmm7, dword [0x140048718]
movss xmm8, dword [0x140048738]
xor r15d, r15d
mov rsi, qword [rbp - 0x78]
mov r13, qword [rbp + 0x20]
add r13, 8
mov qword [rbp + 0x20], r13
cmp r13, rsi
jne 0x140004890
lea rcx, [rbp + 0x3ad0]
call fcn.140006c00
lea r11, [rsp + 0x3c88]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140001a40
nop
call fcn.140001a40
nop
call fcn.140001a40
int3