Function at 0x14004fdd0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r15, qword [rbp + 0x50]
mov rbx, qword [0x14006cab0]
xor r12d, r12d
mov r13, rdx
mov r14, rcx
mov dword [rbp - 0x40], r12d
mov qword [rbp - 0x38], rbx
mov edi, r12d
mov qword [rbp - 0x30], r12
test r15, r15
je 0x14004ff99
mov r11d, dword [rbx + 0xd8]
mov edi, r8d
lea eax, [r11 - 0x5dd3aa1d]
cmp eax, r8d
cmovb edi, eax
test edi, edi
je 0x14004fe83
mov ebx, r12d
lea r9, [rbp - 0x28]
mov rdx, r15
mov qword [rbp - 0x40], rbx
mov ebx, edi
sub r9, r15
mov qword [rbp - 0x40], rbx
mov r8d, edi
movzx eax, byte [rdx]
cmp al, 0x61
jl 0x14004fe6b
cmp al, 0x7a
jg 0x14004fe6b
movsx ecx, al
sub ecx, 0x20
jmp 0x14004fe6e
movsx ecx, al
mov byte [r9 + rdx], cl
inc rdx
dec r8
jne 0x14004fe58
mov eax, ebx
mov byte [rbp + rax - 0x28], r12b
jmp 0x14004fe9e
mov edx, r8d
xor ecx, ecx
call fcn.140005a40
mov r11d, dword [rbx + 0xd8]
lea edi, [r11 - 0x5dd3aa1d]
mov dword [rbp + 0x50], eax
test r14, r14
je 0x14004ffae
or ecx, 0xffffffff
lea r9, [rbp - 0x28]
mov r10d, edi
test edi, edi
je 0x14004fefc
mov edx, dword [rbp + 0x50]
dec r10d
test r9, r9
je 0x14004fec7
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x14004fed2
lea eax, [rdi + 1]
test eax, eax
je 0x14004fefc
mov r8d, 8
nop dword [rax + rax]
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x14004fef0
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x14004fee0
test r10d, r10d
jne 0x14004feb8
mov rbx, qword [r14]
xor r11d, ecx
mov rsi, r12
mov dword [rbp - 0x50], r11d
mov qword [rbp - 0x48], r12
cmp rbx, r14
je 0x14004ffcb
test rbx, rbx
je 0x14004ff24
mov rsi, rbx
mov qword [rbp - 0x48], rbx
jmp 0x14004ff7e
xor edx, edx
xor ecx, ecx
call fcn.1400017e0
test edi, edi
je 0x14004ff77
lea r9, [rbp - 0x28]
mov r8d, edi
mov dword [rbp - 0x40], r12d
mov r10, r12
mov rdx, r15
sub r9, r15
mov dword [rbp - 0x40], r8d
mov r10d, edi
nop dword [rax]
movzx eax, byte [rdx]
cmp al, 0x61
jl 0x14004ff63
cmp al, 0x7a
jg 0x14004ff63
movsx ecx, al
sub ecx, 0x20
jmp 0x14004ff66
movsx ecx, al
mov byte [rdx + r9], cl
inc rdx
dec r8
jne 0x14004ff50
mov byte [rbp + r10 - 0x28], r12b
mov rbx, qword [r14]
mov r11d, dword [rbp - 0x50]
cmp dword [rsi + 0x18], r11d
je 0x14004ffbc
mov rbx, qword [rbx]
mov rsi, r12
mov qword [rbp - 0x48], r12
cmp rbx, r14
jne 0x14004ff16
mov r15d, dword [rbp - 0x50]
jmp 0x14004ffce
xor edx, edx
xor ecx, ecx
call fcn.1400017e0
xor edx, edx
xor ecx, ecx
call fcn.140005a40
mov dword [rbp + 0x50], eax
mov r15d, dword [rbp + 0x50]
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp - 0x48]
jmp 0x14004ffc0
mov r15d, dword [rbp - 0x50]
test rsi, rsi
jne 0x1400500af
jmp 0x14004ffce
mov r15d, r11d
test rbx, rbx
je 0x140050008
mov rax, qword [rbp - 0x38]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov r9d, 1
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], rax
call fcn.140009ac0
mov rsi, qword [rbp - 0x48]
mov ecx, eax
mov dword [rbp + 0x50], eax
jmp 0x140050014
xor edx, edx
xor ecx, ecx
call fcn.1400017e0
mov ecx, dword [rbp + 0x50]
test ecx, ecx
jne 0x1400500a6
test r14, r14
je 0x140050027
mov dword [rsi + 0x18], r15d
jmp 0x140050094
mov edx, dword [rbp - 0x40]
mov r8d, edi
xor ecx, ecx
call fcn.140001410
mov qword [rbp - 0x30], rax
test rbx, rbx
je 0x140050094
mov rdi, qword [rbp - 0x38]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov r9d, 1
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], rdi
call fcn.140009ac0
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov r9d, 1
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], rdi
call fcn.140009ac0
mov rsi, qword [rbp - 0x48]
mov dword [rbp + 0x50], eax
mov rax, qword [r14 + 8]
mov qword [rsi], r14
mov qword [rsi + 8], rax
mov qword [rax], rsi
mov qword [r14 + 8], rsi
test rsi, rsi
je 0x140050362
mov rdi, r13
test r13, r13
je 0x140050142
movzx eax, byte [r13]
test al, al
je 0x1400500d7
cmp al, 0x40
je 0x14005017c
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x1400500c4
or edi, 0xffffffff
mov r11, qword [rbp - 0x38]
test r11, r11
je 0x140050286
mov r9, r13
test r13, r13
je 0x14005018d
or ecx, 0xffffffff
mov r10d, edi
test edi, edi
je 0x140050190
mov edx, dword [rbp + 0x50]
dec r10d
test r9, r9
je 0x140050113
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x14005011e
lea eax, [rdi + 1]
test eax, eax
je 0x140050190
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x140050134
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x140050124
test r10d, r10d
jne 0x140050104
jmp 0x140050190
movzx ecx, byte [r12]
mov rdx, r12
test cl, cl
je 0x140050172
nop
lea r8, [rdx + 1]
test r8, r8
je 0x14005016b
lea eax, [rcx - 0x61]
cmp al, 0x19
movsx eax, cl
ja 0x140050166
sub eax, 0x20
mov byte [rdx], al
mov rdx, r8
movzx ecx, byte [rdx]
test cl, cl
jne 0x140050150
cmp byte [rbp + 0x50], r12b
je 0x1400500d7
test rdi, rdi
je 0x1400500d7
sub edi, r13d
jmp 0x1400500da
mov ecx, dword [rbp + 0x50]
mov r8d, dword [r11 + 0xd8]
mov edx, r8d
xor edx, ecx
mov rcx, rsi
call qword [r11 + 0x260]
test rax, rax
je 0x14005027c
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x1400501c3
mov qword [rcx], rax
mov eax, r12d
jmp 0x140050365
mov rcx, r13
test r13, r13
je 0x1400501e5
movzx eax, byte [r13]
test al, al
je 0x140050213
cmp al, 0x40
je 0x140050213
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x1400501d4
jmp 0x140050213
movzx ecx, byte [r12]
mov rdx, r12
test cl, cl
je 0x140050213
lea r8, [rdx + 1]
test r8, r8
je 0x14005020c
lea eax, [rcx - 0x61]
cmp al, 0x19
movsx eax, cl
ja 0x140050207
sub eax, 0x20
mov byte [rdx], al
mov rdx, r8
movzx ecx, byte [rdx]
test cl, cl
jne 0x1400501f1
test r13, r13
je 0x14005023e
movzx eax, byte [r13]
test al, al
je 0x140050362
cmp al, 0x40
je 0x140050362
movzx eax, byte [r13 + 1]
inc r13
test al, al
jne 0x140050225
jmp 0x140050362
movzx ecx, byte [r12]
test cl, cl
je 0x140050362
nop dword [rax + rax]
lea rdx, [r12 + 1]
test rdx, rdx
je 0x14005026e
lea eax, [rcx - 0x61]
cmp al, 0x19
movsx eax, cl
ja 0x140050267
sub eax, 0x20
mov byte [r12], al
mov r12, rdx
movzx ecx, byte [r12]
test cl, cl
jne 0x140050250
jmp 0x140050362
mov eax, 0x7f
jmp 0x140050365
test rsi, rsi
jne 0x140050362
test rbx, rbx
je 0x1400502c5
lea r9d, [rsi + 1]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], r12
call fcn.140009ac0
mov rsi, qword [rbp - 0x48]
mov r13, qword [rbp - 0x30]
mov dword [rbp + 0x50], eax
jmp 0x1400502d4
mov r13, qword [rbp - 0x30]
mov rdx, r13
mov rcx, r13
call fcn.1400017e0
mov eax, dword [rbp + 0x50]
test eax, eax
jne 0x140050365
test r14, r14
je 0x1400502ea
mov dword [rsi + 0x18], r15d
jmp 0x140050350
mov edx, dword [rbp - 0x40]
mov r8d, edi
mov rcx, r13
call fcn.140001410
test rbx, rbx
je 0x140050350
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov r9d, 1
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], r12
call fcn.140009ac0
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
mov r9d, 1
mov ecx, 0x19c77eec
mov qword [rsp + 0x28], 0x48bc645a
mov qword [rsp + 0x20], r12
call fcn.140009ac0
mov rsi, qword [rbp - 0x48]
mov dword [rbp + 0x50], eax
mov rax, qword [r14 + 8]
mov qword [rsi], r14
mov qword [rsi + 8], rax
mov qword [rax], rsi
mov qword [r14 + 8], rsi
mov eax, dword [rbp + 0x50]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret