Function at 0x14003c9a0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1d8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x14007a040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov dword [rsp + 0x68], r9d
mov r13, r8
mov qword [rbp - 0x80], r8
mov r12, rdx
mov qword [rsp + 0x58], rdx
mov qword [rbp - 0x50], rcx
xor esi, esi
mov rax, qword [0x1400ebd90]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 4
mov r14d, 0xf
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x40], 0x656e6f4e
mov byte [rbp - 0x3c], sil
movdqu xmmword [rbp - 0x70], xmm0
mov eax, esi
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x60], rax
mov edi, esi
mov dword [rsp + 0x30], esi
movsxd rax, r9d
mov qword [rsp + 0x78], rax
mov rbx, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
mov qword [rsp + 0x60], rbx
test r9d, r9d
jle 0x14003ced1
mov r12d, esi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x50], r15
mov rax, rdx
mov rcx, qword [rsp + 0x78]
nop dword [rax + rax]
cmp byte [rax + r12], 0
je 0x14003ceb6
mov rdx, qword [r13 + r12*8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14003ca96
lea rcx, [rbp - 0x20]
call fcn.140005c20
nop
cmp rbx, qword [rbp - 0x78]
je 0x14003cad0
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x10]
movups xmmword [rbx + 0x10], xmm1
mov rdx, r14
mov byte [rbp - 0x20], 0
add rbx, 0x20
mov qword [rbp - 0x68], rbx
jmp 0x14003caf9
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.14004b7d0
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x78], rax
mov rbx, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
mov qword [rsp + 0x50], r15
mov rdx, qword [rbp - 8]
mov qword [rsp + 0x60], rbx
cmp rdx, 0xf
jbe 0x14003cb35
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cb30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d798
call fcn.1400641e4
cmp edi, 3
jl 0x14003cfb3
mov rax, rbx
sub rax, r15
sar rax, 5
cmp rax, 2
jbe 0x14003d880
lea r12, [r15 + 0x40]
lea r14, [r15 + 0x20]
mov r13, qword [r15 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, 2
jb 0x14003d87a
mov qword [rbp - 0x58], r15
cmp qword [r15 + 0x18], 0xf
jbe 0x14003cb8a
mov rax, qword [r15]
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], rsi
lea r15, [r13 + 2]
mov ebx, 0xf
lea rdi, [rbp + 0x60]
cmp r15, rbx
jbe 0x14003cc26
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x14003cbca
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14003cbf1
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003cc10
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003d874
mov rcx, rax
call fcn.1400641a0
test rax, rax
je 0x14003d1b4
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14003cc22
test rcx, rcx
je 0x14003cc1f
call fcn.1400641a0
mov rdi, rax
jmp 0x14003cc22
mov rdi, rsi
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], rbx
mov r8, r13
mov rdx, qword [rbp - 0x58]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + r13], 0x202c
mov byte [rdi + r15], 0
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0xf
jbe 0x14003cc57
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rbp + 0x60]
call fcn.140005290
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov r14d, 0xf
mov qword [rax + 0x18], r14
mov qword [rax + 0x10], rsi
mov byte [rax], 0
lea r8d, [r14 - 0xd]
lea rdx, [0x140068ffc]
lea rcx, [rbp - 0x20]
call fcn.140005290
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r14
mov byte [rax], 0
mov r8, qword [r12 + 0x10]
cmp qword [r12 + 0x18], r14
jbe 0x14003ccdf
mov r12, qword [r12]
mov rdx, r12
lea rcx, [rbp + 0x40]
call fcn.140005290
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x18], r14
mov qword [rax + 0x10], rsi
mov byte [rax], 0
mov r8d, 3
lea rdx, [0x140068518]
lea rcx, [rbp]
call fcn.140005290
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r14
mov byte [rax], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14003cd77
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cd72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d198
call fcn.1400641e4
movups xmmword [rbp - 0x40], xmm6
movups xmmword [rbp - 0x30], xmm7
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x14003cdba
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cdb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d19f
call fcn.1400641e4
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], r14
mov byte [rbp], 0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x14003ce01
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cdfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d1a6
call fcn.1400641e4
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], r14
mov byte [rbp + 0x40], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x14003ce48
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ce43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d1ad
call fcn.1400641e4
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], r14
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x14003ce8f
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ce8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d1b4
call fcn.1400641e4
mov r13, qword [rbp - 0x80]
mov edi, dword [rsp + 0x30]
mov r12, qword [rsp + 0x70]
inc edi
mov dword [rsp + 0x30], edi
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
inc r12
mov qword [rsp + 0x70], r12
cmp r12, rcx
jl 0x14003ca70
mov r12, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x68]
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
movd xmm2, r9d
cvtdq2ps xmm2, xmm2
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov rcx, qword [rbp - 0x50]
call fcn.14003ba60
test al, al
je 0x14003d6a1
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1400eeeb8], eax
jle 0x14003cf7a
lea rcx, [0x1400eeeb8]
call fcn.1400642c8
cmp dword [0x1400eeeb8], 0xffffffff
jne 0x14003cf7a
mov qword [0x1400eeec8], rsi
mov qword [0x1400eeed0], rsi
mov ecx, 0x28
call fcn.1400641a0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1400eeec8], rax
lea rcx, [0x140066280]
call fcn.1400647b8
nop
lea rcx, [0x1400eeeb8]
call fcn.14006425c
mov r13, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x3ed0]
mov rdi, qword [0x1400eeec8]
mov rax, qword [rdi + 8]
mov rbx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003d1d9
mov ecx, dword [rdx + 8]
cmp dword [rax + 0x1c], ecx
jae 0x14003d1c9
mov rax, qword [rax + 0x10]
jmp 0x14003d1cf
mov rdx, qword [r13 + r12*8]
mov r8, 0xffffffffffffffff
test edi, edi
je 0x14003d180
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x38], rsi
inc r8
cmp byte [rdx + r8], 0
jne 0x14003cfd6
lea rcx, [rbp + 0x20]
call fcn.140005c20
nop
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
sub rax, r8
cmp rax, 2
jb 0x14003d08a
lea rax, [r8 + 2]
mov qword [rbp + 0x30], rax
lea rbx, [rbp + 0x20]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0x20]
lea rax, [0x140068ffe]
lea r15, [0x140068ffc]
cmp rax, rbx
jbe 0x14003d045
lea rax, [rbx + r8]
cmp r15, rax
ja 0x14003d045
cmp rbx, r15
ja 0x14003d03d
mov rdi, rsi
jmp 0x14003d04a
mov rdi, rbx
sub rdi, r15
jmp 0x14003d04a
mov edi, 2
inc r8
lea rcx, [rbx + 2]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 2
sub r8, rdi
lea rdx, [r15 + 2]
add rdx, rdi
lea rcx, [rbx + rdi]
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp + 0x20]
mov edi, dword [rsp + 0x30]
jmp 0x14003d0ad
mov qword [rsp + 0x28], 2
lea rax, [0x140068ffc]
mov qword [rsp + 0x20], rax
mov edx, 2
lea rcx, [rbp + 0x20]
call fcn.14004bb20
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x90], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r14
mov byte [rax], 0
lea rdx, [rbp + 0x80]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x40]
call fcn.140005290
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0xf
jbe 0x14003d140
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d13a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d1bb
call fcn.1400641e4
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x14003ce9c
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d176
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d1c2
call fcn.1400641e4
jmp 0x14003ce9c
inc r8
cmp byte [rdx + r8], 0
jne 0x14003d180
lea rcx, [rbp - 0x40]
call fcn.140048110
jmp 0x14003ce9c
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 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]
int3
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003cfa1
cmp byte [rbx + 0x19], 0
jne 0x14003d1e7
mov eax, dword [rbx + 0x1c]
cmp dword [rdx + 8], eax
jae 0x14003d1ea
mov rbx, rdi
xorps xmm6, xmm6
cmp rbx, rdi
jne 0x14003d318
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x54], 0
mov edx, dword [rdx + 8]
mov dword [rsp + 0x40], edx
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x44], rax
mov rax, qword [rdi + 8]
mov qword [rbp], rax
mov dword [rbp + 8], esi
mov rcx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003d255
nop dword [rax + rax]
mov qword [rbp], rax
cmp dword [rax + 0x1c], edx
jae 0x14003d242
mov dword [rbp + 8], esi
mov rax, qword [rax + 0x10]
jmp 0x14003d24f
mov dword [rbp + 8], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003d230
cmp byte [rcx + 0x19], 0
jne 0x14003d260
cmp edx, dword [rcx + 0x1c]
jae 0x14003d2d5
movabs rax, 0x666666666666666
cmp qword [0x1400eeed0], rax
je 0x14003d868
lea rbx, [0x1400eeec8]
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rsi
mov ecx, 0x28
call fcn.1400641a0
mov r8, rax
movsd xmm0, qword [rsp + 0x40]
movsd qword [rax + 0x1c], xmm0
mov eax, dword [rsp + 0x48]
mov dword [r8 + 0x24], eax
mov qword [r8], rdi
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], rdi
mov word [r8 + 0x18], 0
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14004bca0
mov rdi, qword [0x1400eeec8]
mov rdx, qword [r13 + 0x3ed0]
mov rax, qword [rdi + 8]
mov rbx, rdi
cmp byte [rax + 0x19], 0
jne 0x14003d307
mov ecx, dword [rdx + 8]
nop dword [rax]
cmp dword [rax + 0x1c], ecx
jae 0x14003d2fb
mov rax, qword [rax + 0x10]
jmp 0x14003d301
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003d2f0
cmp byte [rbx + 0x19], 0
jne 0x14003d315
mov eax, dword [rbx + 0x1c]
cmp dword [rdx + 8], eax
jae 0x14003d318
mov rbx, rdi
mov r10d, 0xffffffff
mov ecx, r10d
mov rax, qword [r13 + 0x3ed0]
mov r8, qword [rax]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x14003d370
lea r11, [0x1400693e0]
nop
cmp r9b, 0x23
jne 0x14003d353
cmp byte [r8], r9b
jne 0x14003d353
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
xor rdx, rax
shr ecx, 8
xor ecx, dword [r11 + rdx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x14003d340
not ecx
call fcn.140010a00
test rax, rax
je 0x14003d392
cmp byte [rax + 0xaf], 0
je 0x14003d38b
mov byte [rbx + 0x20], 1
jmp 0x14003d392
mov byte [rbx + 0x20], 0
mov dword [rbx + 0x24], esi
movzx eax, byte [rbx + 0x20]
imul eax, eax
movss xmm1, dword [0x14006fcb8]
test eax, eax
je 0x14003d3aa
movaps xmm2, xmm1
jmp 0x14003d3b2
movss xmm2, dword [0x14006fee4]
mov rdi, qword [0x1400ebd90]
movss xmm0, dword [rdi + 0x18]
mulss xmm0, dword [0x14006fd90]
mulss xmm0, xmm2
addss xmm0, dword [rbx + 0x24]
comiss xmm6, xmm0
jbe 0x14003d3d9
movaps xmm1, xmm6
jmp 0x14003d3dd
minss xmm1, xmm0
movss dword [rbx + 0x24], xmm1
mov rax, qword [rdi + 0x3ed0]
movss xmm3, dword [rax + 0xfc]
subss xmm3, dword [rax + 0x1c]
movss xmm4, dword [rax + 0xf8]
movss xmm2, dword [rax + 0x18]
addss xmm3, dword [rax + 0x80]
movss xmm0, dword [rax + 0x7c]
addss xmm3, dword [0x14006fdd0]
mov byte [rax + 0xb0], 1
mov rax, qword [rdi + 0x3ed0]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x80]
addss xmm1, xmm3
subss xmm4, xmm2
addss xmm4, xmm0
addss xmm4, xmm6
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x7c]
addss xmm4, xmm0
movss dword [rax + 0xf8], xmm4
movss dword [rax + 0xfc], xmm1
mov byte [rax + 0x139], 1
movss xmm7, dword [r13 + 0x37ec]
addss xmm7, dword [0x14006fde8]
movss xmm6, dword [r13 + 0x381c]
lea rcx, [rdi + 0x4828]
movss xmm1, dword [rdi + 0x37e8]
movss xmm0, dword [rdi + 0x37ec]
mov dword [rsp + 0x40], 2
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm0
lea rdx, [rsp + 0x40]
call fcn.140020c20
movss dword [rdi + 0x37e8], xmm6
movss dword [rdi + 0x37ec], xmm7
mov rdi, qword [0x1400ebd90]
lea rcx, [rdi + 0x4828]
movss xmm1, dword [rdi + 0x382c]
movss xmm0, dword [rdi + 0x3830]
mov dword [rsp + 0x40], 0xe
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm0
lea rdx, [rsp + 0x40]
call fcn.140020c20
mov dword [rdi + 0x382c], esi
mov dword [rdi + 0x3830], 0x40c00000
mov rcx, qword [0x1400eee20]
mov qword [rsp + 0x58], rcx
mov rdi, qword [0x1400ebd90]
mov r13, rcx
test rcx, rcx
jne 0x14003d54d
mov rcx, qword [rdi + 0x68]
mov r13, rcx
test rcx, rcx
jne 0x14003d548
mov rax, qword [rdi + 0x58]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov r13, rcx
mov qword [rsp + 0x58], rcx
call fcn.140015a90
lea rcx, [rdi + 0x4838]
lea rdx, [rsp + 0x58]
call fcn.140020f80
mov rax, qword [rdi + 0x3ed0]
mov rdx, qword [r13 + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x290]
call fcn.1400297f0
movss xmm6, dword [rbx + 0x24]
mov rbx, qword [0x1400ebd90]
lea rcx, [rbx + 0x4828]
movss xmm0, dword [rbx + 0x37e0]
mov dword [rsp + 0x40], esi
movss dword [rsp + 0x44], xmm0
lea rdx, [rsp + 0x40]
call fcn.140020c20
movss dword [rbx + 0x37e0], xmm6
mov rdi, qword [rsp + 0x78]
test rdi, rdi
jle 0x14003d60e
mov rbx, qword [rbp - 0x80]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x50], 0
lea r9, [rsp + 0x50]
mov r8d, 1
movzx edx, byte [r12]
mov rcx, qword [rbx]
call fcn.1400471e0
test al, al
je 0x14003d601
cmp byte [r12], 0
sete al
mov byte [r12], al
add rbx, 8
inc r12
sub rdi, 1
jne 0x14003d5d0
mov rbx, qword [0x1400ebd90]
mov rax, qword [rbx + 0x3ed0]
mov rcx, qword [rax + 0x290]
movsxd rdx, dword [rcx + 0x68]
lea eax, [rdx - 1]
mov dword [rcx + 0x68], eax
test eax, eax
jne 0x14003d636
mov rax, rsi
jmp 0x14003d63f
mov rax, qword [rcx + 0x70]
mov rax, qword [rax + rdx*8 - 0x10]
mov qword [rcx + 0x98], rax
call fcn.1400295b0
movsxd rcx, dword [rbx + 0x4838]
lea eax, [rcx - 1]
mov dword [rbx + 0x4838], eax
test eax, eax
jne 0x14003d67c
mov rax, qword [0x1400ebd90]
mov rcx, qword [rax + 0x68]
test rcx, rcx
jne 0x14003d688
mov rax, qword [rax + 0x58]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
jmp 0x14003d688
mov rax, qword [rbx + 0x4840]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.140015a90
mov ecx, 3
call fcn.14000a8f0
call fcn.140015630
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rbp - 0x28]
cmp rdi, 4
jb 0x14003d6cf
lea rax, [rbp - 0x40]
cmp rdi, 0xf
cmova rax, qword [rbp - 0x40]
mov qword [rbp - 0x30], 4
mov dword [rax], 0x656e6f4e
mov byte [rax + 4], 0
jmp 0x14003d7a8
mov rcx, rdi
shr rcx, 1
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rdi, rax
jbe 0x14003d71e
movabs rax, 0x8000000000000000
add rax, 0x27
movabs r14, 0x7fffffffffffffff
mov rcx, rax
call fcn.1400641a0
test rax, rax
je 0x14003d798
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14003d753
lea rax, [rdi + rcx]
cmp rax, 0xf
cmova r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x14003d746
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003d86e
jmp 0x14003d6ff
test rcx, rcx
je 0x14003d753
call fcn.1400641a0
mov rsi, rax
mov qword [rbp - 0x30], 4
mov qword [rbp - 0x28], r14
mov dword [rsi], 0x656e6f4e
mov byte [rsi + 4], 0
cmp rdi, 0xf
jbe 0x14003d7a4
lea rdx, [rdi + 1]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d79f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d79f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400641e4
mov qword [rbp - 0x40], rsi
test r15, r15
je 0x14003d7f7
mov rdx, rbx
mov rcx, r15
call fcn.14004a9b0
mov rcx, qword [rbp - 0x78]
sub rcx, r15
and rcx, 0xffffffffffffffe0
mov rax, r15
cmp rcx, 0x1000
jb 0x14003d7eb
add rcx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d7eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, r15
call fcn.1400641e4
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14003d835
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d830
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d830
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400641e4
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140064180
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1b0]
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140036ca0
nop
call fcn.140001830
int3
call fcn.140001830
int3
call fcn.1400018d0
int3
call fcn.1400480f0
int3