Function at 0x180035bd0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x118
mov rsi, qword [0x18018f9d8]
xor r13d, r13d
movaps xmmword [rax - 0x58], xmm6
mov r12d, r8d
movaps xmmword [rax - 0x68], xmm7
mov rdi, rdx
movaps xmmword [rax - 0x78], xmm8
mov rbx, rcx
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
mov rax, qword [rsi + 0x3f48]
mov byte [rax + 0xb8], 1
mov r15, qword [rsi + 0x3f48]
mov eax, dword [rsi + 0x4828]
mov dword [rsi + 0x4828], r13d
mov qword [rsp + 0x78], r15
mov dword [rsp + 0x70], eax
cmp byte [r15 + 0xbb], r13b
jne 0x1800363a0
movsxd rax, dword [r15 + 0xf0]
xor edx, edx
mov r8, qword [r15 + 0xf8]
movaps xmmword [rsp + 0xc0], xmm10
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800061e0
mov r14d, eax
xorps xmm11, xmm11
test r12b, 0x20
je 0x180035c9c
xorps xmm9, xmm9
jmp 0x180035cb3
movss xmm9, dword [rsi + 0x3808]
addss xmm9, xmm9
addss xmm9, dword [rsi + 0x3c70]
mov rcx, rbx
cmp rbx, 0xffffffffffffffff
jae 0x180035cdd
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x180035cdd
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180035cd4
cmp byte [rax], dl
je 0x180035cdd
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180035cc0
movss xmm10, dword [rsi + 0x3c70]
movss xmm6, dword [0x180161bd8]
movss xmm7, dword [0x180161bb4]
movss xmm8, dword [0x1801619c0]
cmp rbx, rcx
jne 0x180035d0a
movaps xmm12, xmm11
jmp 0x180035d53
mov qword [rsp + 0x38], r13
lea rdx, [rbp + 0x78]
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm7
mov rcx, qword [rsi + 0x3c68]
movaps xmm2, xmm10
mov qword [rsp + 0x28], rbx
movss dword [rsp + 0x20], xmm6
call fcn.180027a70
movss xmm0, dword [rbp + 0x78]
movss xmm10, dword [rbp + 0x7c]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
mov ebx, r12d
and ebx, 0x80
je 0x180035dd9
test rdi, rdi
je 0x180035dd9
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x180035dd9
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x180035d8d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180035d84
cmp byte [rax], dl
je 0x180035d8d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180035d70
cmp rdi, rcx
je 0x180035dd9
movss xmm2, dword [rsi + 0x3c70]
lea rdx, [rbp + 0x78]
mov qword [rsp + 0x38], r13
movaps xmm3, xmm7
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsi + 0x3c68]
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm6
call fcn.180027a70
movss xmm0, dword [rbp + 0x78]
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x180035ddd
movaps xmm1, xmm11
mov eax, r12d
and eax, 0x40
mov dword [rsp + 0x68], eax
je 0x180035def
movaps xmm2, xmm9
jmp 0x180035e12
test ebx, ebx
je 0x180035e0a
movss xmm2, dword [rsi + 0x3804]
addss xmm1, xmm9
addss xmm2, xmm2
addss xmm2, xmm1
jmp 0x180035e12
call fcn.180015960
movaps xmm2, xmm0
comiss xmm12, xmm11
movss xmm6, dword [rsi + 0x3808]
movss xmm4, dword [r15 + 0x100]
movaps xmm3, xmm6
movss xmm5, dword [r15 + 0x104]
addss xmm3, xmm6
addss xmm2, dword [0x180161b04]
addss xmm3, xmm10
movaps xmm10, xmmword [rsp + 0xc0]
addss xmm2, xmm4
addss xmm4, dword [0x180161b04]
addss xmm3, dword [0x180161a50]
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x58], xmm4
addss xmm3, xmm5
addss xmm5, dword [0x180161a50]
movss dword [rsp + 0x64], xmm3
movss dword [rsp + 0x5c], xmm5
jbe 0x180035e95
movaps xmm0, xmm12
addss xmm0, dword [rsi + 0x381c]
jmp 0x180035e99
movaps xmm0, xmm11
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm4
addss xmm3, xmm11
movss dword [rsp + 0x44], xmm5
movaps xmm1, xmm6
lea rcx, [rbp + 0x78]
movss dword [rsp + 0x48], xmm2
subss xmm2, xmm4
movss dword [rsp + 0x4c], xmm3
subss xmm3, xmm5
movss dword [rbp + 0x78], xmm2
movss dword [rbp + 0x7c], xmm3
call fcn.1800154f0
lea r8, [rsp + 0x58]
mov edx, r14d
lea rcx, [rsp + 0x40]
xor r9d, r9d
call fcn.180015660
test al, al
je 0x1800363a0
lea r9, [rsp + 0x50]
mov dword [rsp + 0x20], r13d
lea r8, [rbp + 0x78]
mov edx, r14d
lea rcx, [rsp + 0x58]
call fcn.180031bb0
mov r9d, r14d
lea rdx, [0x180160d59]
not r9d
lea r11, [0x180126550]
mov edi, r9d
movzx r10d, al
mov r8b, 0x23
nop
cmp r8b, 0x23
jne 0x180035f43
cmp byte [rdx], r8b
jne 0x180035f43
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r11 + rcx*4]
test r8b, r8b
jne 0x180035f30
mov rdx, qword [0x18018f9d8]
not edi
movsxd rax, dword [rdx + 0x4908]
cmp dword [rdx + 0x48f8], eax
jle 0x180035f8e
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4900]
cmp dword [rcx + rax], edi
jne 0x180035f8e
mov r12b, 1
jmp 0x180035f91
xor r12b, r12b
test r10b, r10b
je 0x180035fa7
test r12b, r12b
jne 0x180035fa7
xor edx, edx
mov ecx, edi
call fcn.1800167e0
mov r12b, 1
mov ecx, dword [0x18018ecc0]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180190368], eax
jle 0x180036032
lea rcx, [0x180190368]
call fcn.1800d9450
cmp dword [0x180190368], 0xffffffff
jne 0x180036032
mov qword [0x180190328], r13
mov qword [0x180190330], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [0x1801007c0]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180190328], rax
call fcn.1800d97c0
lea rcx, [0x180190368]
call fcn.1800d93e4
mov rcx, qword [0x180190328]
mov rbx, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], r13b
jne 0x18003605e
cmp dword [rax + 0x1c], r14d
jae 0x180036052
mov rax, qword [rax + 0x10]
jmp 0x180036058
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r13b
je 0x180036046
cmp byte [rbx + 0x19], r13b
jne 0x18003606a
cmp r14d, dword [rbx + 0x1c]
jae 0x18003606d
mov rbx, rcx
movd xmm0, dword [rbx + 0x20]
lea rcx, [rsp + 0x40]
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x4c], 0x3f058586
mulss xmm0, dword [0x18016192c]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm0
movss dword [rsp + 0x48], xmm0
call fcn.180006780
movss xmm7, dword [rsp + 0x60]
lea rcx, [rsp + 0x58]
movss xmm8, dword [rsp + 0x58]
movaps xmm0, xmm7
subss xmm0, xmm9
mov r8d, 1
movaps xmm9, xmm8
mov edx, r14d
mov r13d, eax
maxss xmm9, xmm0
call fcn.1800087d0
mov r15, qword [0x180190328]
cmp rbx, r15
jne 0x1800361df
mov rax, qword [r15 + 8]
xor edx, edx
mov dword [rsp + 0x40], r14d
mov rcx, r15
mov dword [rsp + 0x44], 0xd
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], edx
cmp byte [rax + 0x19], dl
jne 0x180036135
nop word [rax + rax]
mov qword [rbp - 0x80], rax
cmp dword [rax + 0x1c], r14d
jae 0x180036123
mov rax, qword [rax + 0x10]
mov dword [rbp - 0x78], edx
jmp 0x180036130
mov rcx, rax
mov dword [rbp - 0x78], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], dl
je 0x180036110
cmp byte [rcx + 0x19], dl
jne 0x180036140
cmp r14d, dword [rcx + 0x1c]
jae 0x1800361ab
movabs rax, 0x666666666666666
cmp qword [0x180190330], rax
je 0x1800363d8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
movups xmm0, xmmword [rbp - 0x80]
mov r8, rax
lea rdx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
lea rcx, [0x180190328]
movaps xmmword [rsp + 0x40], xmm0
mov qword [r8 + 0x1c], rax
mov qword [r8], r15
mov qword [r8 + 8], r15
mov qword [r8 + 0x10], r15
mov word [r8 + 0x18], 0
call fcn.18004f080
mov r15, qword [0x180190328]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x1800361d0
cmp dword [rax + 0x1c], r14d
jae 0x1800361c4
mov rax, qword [rax + 0x10]
jmp 0x1800361ca
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800361b8
cmp byte [rbx + 0x19], 0
jne 0x1800361dc
cmp r14d, dword [rbx + 0x1c]
jae 0x1800361df
mov rbx, r15
cmp byte [rbp + 0x78], 0
mov eax, dword [rbx + 0x20]
je 0x1800361f1
cmp eax, 0x23
jge 0x1800361fb
inc eax
jmp 0x1800361f8
cmp eax, 0xd
jle 0x1800361fb
dec eax
mov dword [rbx + 0x20], eax
mov ebx, dword [rsp + 0x68]
movss xmm6, dword [rsp + 0x64]
test ebx, ebx
jne 0x18003624f
movss xmm0, dword [rsi + 0x380c]
lea r8, [rbp + 0x78]
addss xmm0, dword [0x180161a6c]
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x28], 0xf0
mov r9d, r13d
movss dword [rbp + 0x78], xmm9
movss dword [rbp + 0x7c], xmm6
mov rcx, qword [rcx + 0x298]
movss dword [rsp + 0x20], xmm0
call fcn.180021c20
movss xmm2, dword [rsi + 0x380c]
movaps xmm0, xmm7
mov rcx, qword [rsp + 0x58]
unpcklps xmm0, xmm6
movq rdx, xmm0
movsd qword [rsp + 0x60], xmm0
call fcn.180008670
mov r14d, dword [rbp + 0x70]
movss xmm7, dword [rsp + 0x5c]
bt r14d, 0x14
jae 0x1800362aa
movss dword [rsi + 0x5bf4], xmm8
movss dword [rsi + 0x5bf8], xmm7
movss dword [rsi + 0x5bfc], xmm9
movss dword [rsi + 0x5c00], xmm6
jmp 0x180036351
mov r8, qword [rbp + 0x68]
test r8, r8
je 0x180036351
test ebx, ebx
jne 0x180036351
cmp byte [rsi + 0x5d28], bl
je 0x1800362ea
mov rax, qword [0x18018f9d8]
lea rcx, [0x180160d6c]
mov qword [rax + 0x5d48], rcx
lea rcx, [0x180160d68]
mov qword [rax + 0x5d50], rcx
subss xmm6, dword [0x1801619c8]
xor ecx, ecx
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x78]
movaps xmm0, xmm8
mov qword [rsp + 0x28], rax
addss xmm0, dword [rsi + 0x3804]
movaps xmm1, xmm7
mov qword [rsp + 0x20], rcx
addss xmm1, dword [rsi + 0x3808]
xor r9d, r9d
movss dword [rsp + 0x44], xmm6
lea rdx, [rsp + 0x40]
mov qword [rbp + 0x78], 0
lea rcx, [rsp + 0x68]
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
call fcn.180007b10
comiss xmm12, xmm11
jbe 0x180036380
subss xmm8, dword [0x180161afc]
addss xmm7, dword [rsi + 0x3808]
mov rdx, qword [rbp + 0x60]
mov r9b, 1
xor r8d, r8d
unpcklps xmm8, xmm7
movq rcx, xmm8
call fcn.180007150
test r12b, r12b
je 0x1800363a0
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x58]
mov r8d, r14d
mov dword [rsi + 0x4828], eax
mov ecx, edi
call fcn.1800363e0
jmp 0x1800363a2
xor al, al
lea r11, [rsp + 0x118]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800311f0
int3