Function at 0x180017410
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, qword [0x180072b80]
xor r15d, r15d
mov esi, ecx
mov r14, qword [rdi + 0x1a80]
test cl, 0x10
jne 0x1800176ac
mov ebx, dword [r14 + 0x114]
test ebx, ebx
je 0x18001745a
cmp dword [rdi + 0x1ac8], ebx
jne 0x1800176a5
cmp byte [rdi + 0x138], r15b
je 0x1800176a5
test ebx, ebx
jne 0x180017660
test cl, 8
je 0x1800176a5
test byte [r14 + 0x118], 1
jne 0x18001749c
cmp dword [rdi + 0x1ac8], r15d
je 0x1800176a5
cmp qword [rdi + 0x1af8], r14
jne 0x1800176a5
lea rdx, [r14 + 0x11c]
mov qword [rsp + 0x90], r13
mov rcx, r14
call fcn.18001b5b0
mov dword [r14 + 0x114], eax
mov ebx, eax
mov rsi, qword [0x180072b80]
mov eax, dword [rsi + 0x1ab4]
test eax, eax
je 0x1800174e2
cmp eax, ebx
je 0x1800174e2
cmp byte [rsi + 0x1ab8], r15b
jne 0x1800174e2
xor sil, sil
jmp 0x180017617
mov qword [rsp + 0x88], r12
mov r12, qword [rsi + 0x1a80]
cmp qword [rsi + 0x1a88], r12
jne 0x18001760c
mov eax, dword [rsi + 0x1ac8]
test eax, eax
je 0x180017519
cmp eax, ebx
je 0x180017519
cmp byte [rsi + 0x1ad5], r15b
je 0x18001760c
lea rdx, [r14 + 0x124]
mov r8b, 1
lea rcx, [r14 + 0x11c]
call fcn.18001d2a0
test al, al
je 0x18001760c
cmp byte [rsi + 0x1c4f], r15b
jne 0x18001760c
xor edx, edx
mov rcx, r12
call fcn.18001d3e0
test al, al
je 0x18001760c
test byte [r12 + 0x1b8], 4
jne 0x18001760c
mov rax, qword [0x180072b80]
mov dword [rsi + 0x1ab4], ebx
mov byte [rax + 0x1ab8], r15b
test ebx, ebx
je 0x18001758c
cmp dword [rax + 0x1abc], ebx
je 0x18001758c
mov qword [rax + 0x1ac0], r15
cmp byte [rsi + 0x2ffc], r15b
je 0x1800175e3
cmp dword [rsi + 0x1abc], ebx
jne 0x1800175e3
movss xmm0, dword [0x1800640e8]
lea r8, [r14 + 0x124]
mov rcx, qword [0x180072b80]
lea rdx, [r14 + 0x11c]
movss dword [rsp + 0x30], xmm0
xorps xmm1, xmm1
mov dword [rsp + 0x28], 0xf
add rcx, 0x1e70
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
call fcn.18002b340
cmp dword [rsi + 0x3000], ebx
jne 0x1800175ec
int3
mov sil, 1
cmp byte [rdi + 0x428], r15b
je 0x18001760f
mov rdx, r14
mov ecx, ebx
call fcn.180025690
mov rcx, r14
call fcn.18001ae40
jmp 0x18001760f
xor sil, sil
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
cmp dword [rdi + 0x1ac8], ebx
jne 0x18001762e
mov byte [rdi + 0x1ad5], sil
mov esi, dword [rbp + 0x30]
cmp dword [rdi + 0x1ac8], ebx
jne 0x1800176a5
mov rax, qword [r14 + 0xc8]
movsxd rcx, dword [r14 + 0xc0]
mov r15d, dword [rax + rcx*4 - 4]
mov rax, qword [0x180072b80]
cmp byte [rax + 0x138], 0
jne 0x180017669
xor al, al
jmp 0x180017687
mov byte [rdi + 0x1ad5], r15b
jmp 0x180017631
mov rax, qword [0x180072b80]
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x494]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
mov qword [rdi + 0x1adc], 0xffffffffffffffff
mov qword [rdi + 0x1ae8], 0xffffffffffffffff
test al, al
jne 0x180017766
xor al, al
jmp 0x1800177f7
mov eax, dword [0x180065858]
xor r14d, r14d
cmp byte [0x18006585d], r14b
movsd xmm0, qword [0x180065850]
mov dword [rbp - 8], eax
movzx eax, word [0x18006585c]
mov word [rbp - 4], ax
movsd qword [rbp - 0x10], xmm0
je 0x180017716
xor byte [rbp - 0xf], 0x32
mov r8b, 0x23
xor byte [rbp - 0xe], 0x33
xor byte [rbp - 0xd], 0x34
xor byte [rbp - 0xc], 0x35
xor byte [rbp - 0xb], 0x36
xor byte [rbp - 0xa], 0x37
xor byte [rbp - 9], 0x38
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
mov byte [rbp - 0x10], r8b
jmp 0x18001771b
movzx r8d, byte [rbp - 0x10]
lea rdx, [rbp - 0xf]
mov r9d, 0xffffffff
mov ebx, r9d
test r8b, r8b
je 0x180017764
lea r10, [0x1800651e0]
cmp r8b, 0x23
jne 0x180017747
cmp byte [rdx], r8b
jne 0x180017747
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x180017734
not ebx
cmp byte [rdi + 0x1f1c], 0
jne 0x180017798
call fcn.180018cc0
mov dword [rdi + 0x1f3c], ebx
mov dword [rdi + 0x1f40], r15d
mov byte [rdi + 0x1f1c], 1
mov dword [rdi + 0x1f20], esi
mov dword [rdi + 0x1f28], 0
mov eax, dword [rdi + 0x1a08]
mov dword [rdi + 0x1f24], eax
mov byte [rdi + 0x1f1d], 1
test sil, 1
jne 0x1800177e7
xor edx, edx
xor ecx, ecx
call fcn.180017bd0
cmp dword [rdi + 0x1f90], 0
je 0x1800177e7
test dword [rdi + 0x1f84], 0x1000
je 0x1800177e7
mov rax, qword [rdi + 0x1a80]
mov byte [rax + 0x83], 1
mov dword [rax + 0x9c], 1
test sil, 0x12
jne 0x1800177f5
and dword [r14 + 0x118], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret