Function at 0x18003dbc0
Capabilities:
Hash data with crc32

Disassembly:
push rsi
push rdi
push r12
push r15
sub rsp, 0xc8
mov rax, qword [0x18008b040]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov esi, edx
mov edi, edx
and esi, 0x1800000
mov r15d, edx
mov r12, rcx
and edi, 0x700000
je 0x18003dc00
test esi, esi
jne 0x18003e12a
mov r10, qword [0x1800cf010]
mov eax, dword [r10 + 0x1b70]
cmp dword [r10 + 0x1b60], eax
jg 0x18003dc27
mov dword [r10 + 0x1ab8], 0
jmp 0x18003e12a
mov rax, qword [r10 + 0x1a18]
lea rdx, [0x18007da89]
mov qword [rsp + 0x100], rbp
mov r9b, 0x63
lea rbp, [0x180079360]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r11d, dword [rax + rcx*4 - 4]
not r11d
mov r8d, r11d
cmp r9b, 0x23
jne 0x18003dc73
cmp byte [rdx], r9b
jne 0x18003dc73
cmp byte [rdx + 1], r9b
cmove r8d, r11d
movzx ecx, r8b
movzx eax, r9b
movzx r9d, byte [rdx]
xor rcx, rax
shr r8d, 8
inc rdx
xor r8d, dword [rbp + rcx*4]
test r9b, r9b
jne 0x18003dc60
not r8d
cmp dword [r10 + 0x1a60], r8d
jne 0x18003dca6
mov dword [r10 + 0x1a64], r8d
cmp dword [r10 + 0x1a9c], r8d
jne 0x18003dcb7
mov byte [r10 + 0x1aa0], 1
mov edx, 0x141
mov ecx, r8d
call fcn.180019be0
test al, al
je 0x18003e122
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x108], r13
mov r13, qword [0x1800cf010]
movaps xmmword [rsp + 0xb0], xmm6
mov ebx, dword [r13 + 0x2e94]
test edi, edi
jne 0x18003dd5c
mov edx, ebx
lea rcx, [0x18007dc2c]
shr edx, 0x14
and dl, 1
call fcn.180031bc0
test al, al
je 0x18003dd18
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x18007dc30]
shr edx, 0x15
and dl, 1
call fcn.180031bc0
test al, al
je 0x18003dd3a
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x18007dc34]
shr edx, 0x16
and dl, 1
call fcn.180031bc0
test al, al
je 0x18003dd5c
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x18003ddcd
test edi, edi
jne 0x18003dd8d
mov rax, qword [0x1800cf010]
mov rax, qword [rax + 0x1a18]
cmp byte [rax + 0x83], dil
jne 0x18003dd8d
mov eax, dword [rax + 0x170]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180032380
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.180031bc0
test al, al
je 0x18003ddad
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.180031bc0
test al, al
je 0x18003ddcd
btr ebx, 0x17
bts ebx, 0x18
test edi, edi
je 0x18003ddd5
test esi, esi
jne 0x18003ddfe
mov rax, qword [0x1800cf010]
mov rax, qword [rax + 0x1a18]
cmp byte [rax + 0x83], 0
jne 0x18003ddfe
mov eax, dword [rax + 0x170]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180032380
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], 0xbf800000
xorps xmm6, xmm6
mov dword [rsp + 0x44], 0
call fcn.180030850
test al, al
je 0x18003deae
mov r11, qword [0x1800cf010]
lea r8, [0x18007d3bd]
mov r9b, 0x43
mov rax, qword [r11 + 0x1a18]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edx, r10d
cmp r9b, 0x23
jne 0x18003de67
cmp byte [r8], r9b
jne 0x18003de67
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [rbp + rcx*4]
test r9b, r9b
jne 0x18003de54
not edx
cmp dword [r11 + 0x1a60], edx
jne 0x18003de96
mov dword [r11 + 0x1a64], edx
cmp dword [r11 + 0x1a9c], edx
jne 0x18003dea7
mov byte [r11 + 0x1aa0], 1
mov ecx, edx
call fcn.180019780
lea rcx, str.Copy
call fcn.180019ca0
test al, al
je 0x18003e0fe
movss xmm4, dword [r12]
comiss xmm6, xmm4
mov qword [rsp + 0xc0], r14
movss xmm1, dword [0x18007def4]
movaps xmmword [rsp + 0xa0], xmm7
jbe 0x18003deea
movaps xmm0, xmm6
jmp 0x18003def1
movaps xmm0, xmm1
minss xmm0, xmm4
movss xmm2, dword [0x18007dfd8]
movss xmm3, dword [0x18007dec0]
movss xmm5, dword [r12 + 4]
comiss xmm6, xmm5
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si r14d, xmm0
jbe 0x18003df1f
movaps xmm0, xmm6
jmp 0x18003df26
movaps xmm0, xmm1
minss xmm0, xmm5
movss xmm7, dword [r12 + 8]
comiss xmm6, xmm7
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ebp, xmm0
jbe 0x18003df43
movaps xmm0, xmm6
jmp 0x18003df4a
movaps xmm0, xmm1
minss xmm0, xmm7
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si esi, xmm0
and r15d, 2
je 0x18003df63
mov edi, 0xff
jmp 0x18003df85
movss xmm0, dword [r12 + 0xc]
comiss xmm6, xmm0
ja 0x18003df76
minss xmm1, xmm0
movaps xmm6, xmm1
mulss xmm6, xmm2
movaps xmm1, xmm0
addss xmm6, xmm3
cvttss2si edi, xmm6
cvtps2pd xmm0, xmm1
lea r8, str.__.3ff___.3ff___.3ff___.3ff_
mov edx, 0x40
lea rcx, [rsp + 0x50]
cvtps2pd xmm1, xmm7
movsd qword [rsp + 0x30], xmm0
cvtps2pd xmm3, xmm4
cvtps2pd xmm2, xmm5
movsd qword [rsp + 0x28], xmm1
movq r9, xmm3
movsd qword [rsp + 0x20], xmm2
call fcn.18000d030
lea r9, [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor r8d, r8d
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.18003e620
movaps xmm7, xmmword [rsp + 0xa0]
test al, al
je 0x18003e008
mov rcx, qword [0x1800cf010]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x18003e008
mov rcx, qword [rcx + 0x110]
lea rdx, [rsp + 0x50]
call rax
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rsp + 0x50]
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov edx, 0x40
call fcn.18000d030
lea r9, [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor r8d, r8d
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.18003e620
test al, al
je 0x18003e06f
mov rcx, qword [0x1800cf010]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x18003e06f
mov rcx, qword [rcx + 0x110]
lea rdx, [rsp + 0x50]
call rax
lea rcx, [rsp + 0x50]
mov r9d, r14d
mov edx, 0x40
test r15d, r15d
je 0x18003e097
mov dword [rsp + 0x28], esi
lea r8, str.0x_02X_02X_02X
mov dword [rsp + 0x20], ebp
call fcn.18000d030
jmp 0x18003e0af
mov dword [rsp + 0x30], edi
lea r8, str.0x_02X_02X_02X_02X
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebp
call fcn.18000d030
lea r9, [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor r8d, r8d
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.18003e620
mov r14, qword [rsp + 0xc0]
test al, al
je 0x18003e0f9
mov rcx, qword [0x1800cf010]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x18003e0f9
mov rcx, qword [rcx + 0x110]
lea rdx, [rsp + 0x50]
call rax
call fcn.180019d20
mov dword [r13 + 0x2e94], ebx
call fcn.180019d20
movaps xmm6, xmmword [rsp + 0xb0]
mov r13, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.180045720
add rsp, 0xc8
pop r15
pop r12
pop rdi
pop rsi
ret