Function at 0x14005b670
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r12, rdx
mov r14, rcx
mov rsi, qword [0x1402808a8]
test rdx, rdx
jne 0x14005b69d
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r12, rax
lea ebx, [r12 + 1]
jmp 0x14005b6de
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3040], rdi
mov dword [rsi + 0x303c], ebp
mov dword [rsi + 0x3038], ebx
mov rdi, qword [rsi + 0x3040]
mov rcx, rdi
mov rdx, r14
mov r8, r12
call fcn.140115f70
mov byte [rdi + r12], 0
mov eax, dword [rsi + 0x303c]
cmp eax, ebx
jge 0x14005b7b1
test eax, eax
je 0x14005b6fd
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x14005b702
mov ebp, 8
cmp ebp, ebx
cmovle ebp, ebx
cmp eax, ebp
jge 0x14005b7b1
mov rax, qword [0x1402808a8]
test rax, rax
je 0x14005b722
add dword [rax + 0x3bc], 1
movsxd rcx, ebp
mov rdx, qword [0x1402808b8]
call qword [0x140275378]
mov rdi, rax
mov rdx, qword [rsi + 0x3040]
test rdx, rdx
je 0x14005b7a4
movsxd r8, dword [rsi + 0x3038]
mov rcx, rdi
call fcn.140115f70
mov rcx, qword [rsi + 0x3040]
test rcx, rcx
je 0x14005b797
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word [rax + rax]
test al, al
je 0x14005b780
mov rax, qword [0x1402808a8]
test rax, rax
je 0x14005b797
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rsi + 0x3040], rdi
mov dword [rsi + 0x303c], ebp
mov dword [rsi + 0x3038], ebx
mov r15, qword [rsi + 0x3040]
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.140115f70
mov byte [r15 + r12], 0
cmp dword [0x14027b64c], 0xa
jl 0x14005b8c0
mov eax, dword [0x14027b648]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14005b8c0
mov eax, dword [rsi + 0x303c]
cmp eax, ebx
jge 0x14005b6be
test eax, eax
je 0x14005b812
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x14005b817
mov ebp, 8
cmp ebp, ebx
cmovle ebp, ebx
cmp eax, ebp
jge 0x14005b6be
mov rax, qword [0x1402808a8]
test rax, rax
je 0x14005b837
add dword [rax + 0x3bc], 1
movsxd rcx, ebp
mov rdx, qword [0x1402808b8]
call qword [0x140275378]
mov rdi, rax
mov rdx, qword [rsi + 0x3040]
test rdx, rdx
je 0x14005b6b1
movsxd r8, dword [rsi + 0x3038]
mov rcx, rdi
call fcn.140115f70
mov rcx, qword [rsi + 0x3040]
test rcx, rcx
je 0x14005b6a4
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word [rax + rax]
test al, al
je 0x14005b8a0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x14005b6a4
add dword [rax + 0x3bc], 0xffffffff
jmp 0x14005b6a4
mov qword [rsp + 0x40], r14
cmp dword [rsi + 0x3048], 0
jle 0x14005b90f
xor edi, edi
xor ebx, ebx
jmp 0x14005b8f4
add rbx, 1
movsxd rax, dword [rsi + 0x3048]
add rdi, 0x48
cmp rbx, rax
jge 0x14005b90f
mov rdx, qword [rsi + 0x3050]
mov rax, qword [rdx + rdi + 0x18]
test rax, rax
je 0x14005b8e0
add rdx, rdi
mov rcx, rsi
call rax
jmp 0x14005b8e0
mov qword [rsp + 0x28], r12
test r12, r12
jle 0x14005bc4b
mov rax, qword [rsp + 0x28]
lea r9, [r15 + rax]
xor r10d, r10d
mov r13d, 0xffffffff
lea r14, [0x1401ca9b0]
mov rdi, r15
xor edx, edx
mov qword [rsp + 0x20], r9
jmp 0x14005b96d
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
nop word cs:[rax + rax]
nop dword [rax + rax]
add rdi, 1
cmp rdi, r9
jae 0x14005bc4b
lea r12, [rdi + 3]
mov r8, rdi
mov rbx, rdi
jmp 0x14005b98c
add rbx, 1
add r8, 1
add r12, 1
movzx ecx, byte [rbx]
cmp cl, 0xd
je 0x14005b980
cmp cl, 0xa
je 0x14005b980
mov eax, dword [0x14027b648]
lea ebp, [rax - 1]
imul ebp, eax
test bpl, 1
sete r11b
cmp dword [0x14027b64c], 0xa
setl al
or al, r11b
mov rdi, rbx
cmp rbx, r9
jae 0x14005ba10
mov rbp, r9
sub rbp, r8
add rbp, rbx
mov rdi, rbx
cmp cl, 0xa
je 0x14005ba10
nop word cs:[rax + rax]
nop dword [rax]
cmp cl, 0xd
je 0x14005ba10
nop word cs:[rax + rax]
nop
test al, al
je 0x14005b9f0
add rdi, 1
cmp rdi, rbp
je 0x14005ba16
mov cl, byte [rdi]
cmp cl, 0xa
jne 0x14005b9e0
nop word cs:[rax + rax]
nop
test al, al
jne 0x14005ba20
jmp 0x14005ba3d
mov rdi, rbp
test al, al
je 0x14005ba3d
nop dword [rax]
mov byte [rdi], 0
cmp dword [0x14027b64c], 0xa
jl 0x14005ba50
mov eax, dword [0x14027b648]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14005ba50
mov byte [rdi], 0
jmp 0x14005ba20
mov al, byte [rbx]
cmp al, 0x3b
je 0x14005b960
cmp al, 0x5b
jne 0x14005bb40
cmp rdi, rbx
jbe 0x14005bb40
cmp byte [rdi - 1], 0x5d
jne 0x14005bb40
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r10
lea rax, [rdi - 1]
mov byte [rax], 0
add rbx, 1
not r8
mov rbp, rax
add r8, rax
mov rcx, rbx
mov edx, 0x5d
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14005b942
mov edx, dword [0x14027b648]
lea ecx, [rdx - 1]
imul ecx, edx
test cl, 1
sete cl
cmp dword [0x14027b64c], 0xa
setl dl
or dl, cl
nop word [rax + rax]
test dl, dl
je 0x14005bad0
mov rcx, rax
add rcx, 1
mov r8, rbp
sub r8, rcx
mov rbp, rax
mov edx, 0x5b
call sub.VCRUNTIME140.dll_memchr
test rax, rax
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
je 0x14005b960
mov byte [rbp], 0
add rax, 1
mov ecx, dword [0x14027b628]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x14027b62c], 0xa
mov r8, qword [0x1402808a8]
setl r9b
or r9b, cl
mov r10b, byte [rbx]
jmp 0x14005bb8a
test rdx, rdx
je 0x14005b960
test r10, r10
je 0x14005b960
mov rcx, rsi
mov r8, r10
mov rbp, r10
mov r12, r9
mov r9, rbx
mov rbx, rdx
call qword [rdx + Ordinal_41]
mov rdx, rbx
mov r9, r12
mov r10, rbp
jmp 0x14005b960
mov ecx, 0xffffffff
test r9b, r9b
jne 0x14005bbdc
test r10b, r10b
je 0x14005bb80
mov ebp, 0xffffffff
mov rdx, r12
mov ebx, r10d
jmp 0x14005bbc0
movzx ebx, bl
mov ecx, ebp
shr ecx, 8
movzx ebp, bpl
xor ebp, ebx
xor ecx, dword [r14 + rbp*4]
add rdx, 1
mov ebx, r11d
mov ebp, ecx
test r11b, r11b
je 0x14005bb85
movzx r11d, byte [rdx - 1]
cmp bl, 0x23
jne 0x14005bba0
cmp r11b, 0x23
jne 0x14005bba0
cmp byte [rdx], 0x23
cmove ebp, r13d
mov r11b, reloc.WLDAP32.dll_Ordinal_35
jmp 0x14005bba0
mov ebp, dword [r8 + 0x3048]
test ebp, ebp
jle 0x14005bc1f
not ecx
mov rbx, qword [r8 + 0x3050]
mov r9, qword [rsp + 0x20]
nop word cs:[rax + rax]
nop
cmp dword [rbx + 8], ecx
je 0x14005bc2e
add rbx, 0x48
mov edx, 0
mov r10d, 0
add rbp, 0xffffffffffffffff
jne 0x14005bc00
jmp 0x14005b960
xor edx, edx
xor r10d, r10d
mov r9, qword [rsp + 0x20]
jmp 0x14005b960
mov rcx, rsi
mov rdx, rbx
mov r8, rax
mov rbp, r9
call qword [rbx + reloc.WLDAP32.dll_Ordinal_32]
mov r9, rbp
mov r10, rax
mov rdx, rbx
jmp 0x14005b960
mov byte [rsi + 0x3031], 1
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
call fcn.140115f70
cmp dword [rsi + 0x3048], 0
jle 0x14005bcc4
xor edi, edi
nop
mov rcx, qword [rsi + 0x3050]
lea rdx, [rdi + rdi*8]
mov rax, qword [rcx + rdx*8 + 0x30]
test rax, rax
je 0x14005bc8e
lea rdx, [rcx + rdx*8]
mov rcx, rsi
call rax
mov eax, dword [0x14027b648]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027b64c], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x14005bcb0
add rdi, 1
movsxd rax, dword [rsi + 0x3048]
cmp rdi, rax
jl 0x14005bc70
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret