Function at 0x14003fde0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rsi, qword [0x1401592a8]
xor r14d, r14d
mov r12d, ecx
mov r15d, r14d
mov rbp, qword [rsi + 0x3fc8]
test cl, 0x10
jne 0x1400400d4
mov edi, dword [rsi + 0x408c]
test edi, edi
je 0x14003fe5e
cmp dword [rsi + 0x4014], edi
jne 0x1400400cd
mov eax, dword [rsi + 0x403c]
cmp eax, 0xffffffff
cmove eax, r14d
movsxd r14, eax
cmp byte [r14 + rsi + 0xe0c], r15b
je 0x1400400cd
cmp byte [rbp + 0xd0], r15b
jne 0x1400400cd
xor bl, bl
jmp 0x140040098
cmp byte [rsi + 0xe0c], r14b
je 0x1400400cd
cmp byte [rbp + 0xd0], r14b
jne 0x1400400cd
test byte [rsi + 0x4094], 1
jne 0x14003fe9b
cmp dword [rsi + 0x4014], r14d
je 0x1400400cd
cmp qword [rsi + 0x4030], rbp
jne 0x1400400cd
test r12b, 8
je 0x1400400cd
lea rdx, [rsi + 0x4098]
mov qword [rsp + 0x70], r13
mov rcx, rbp
call fcn.14004d7c0
mov edi, eax
mov dword [rsi + 0x408c], eax
mov rax, qword [0x1401592a8]
cmp dword [rax + 0x4014], edi
jne 0x14003fed6
mov dword [rax + 0x4018], edi
cmp dword [rax + 0x4040], edi
jne 0x14003fee5
mov byte [rax + 0x4044], 1
mov rbx, qword [0x1401592a8]
mov eax, dword [rbx + 0x4000]
test eax, eax
je 0x14003ff0a
cmp eax, edi
je 0x14003ff0a
cmp byte [rbx + 0x4008], r14b
jne 0x14003ff0a
xor bl, bl
jmp 0x14004008b
mov r15, qword [rbx + 0x3fc8]
cmp qword [rbx + 0x3fd0], r15
je 0x14003ff21
xor bl, bl
jmp 0x14004008b
mov eax, dword [rbx + 0x4014]
test eax, eax
je 0x14003ff3f
cmp eax, edi
je 0x14003ff3f
cmp byte [rbx + 0x4021], r14b
jne 0x14003ff3f
xor bl, bl
jmp 0x14004008b
lea rdx, [rsi + 0x40a0]
mov r8b, 1
lea rcx, [rsi + 0x4098]
call fcn.14004fe60
test al, al
jne 0x14003ff60
xor bl, bl
jmp 0x14004008b
cmp dword [rbx + 0x408c], edi
jne 0x14003ff71
mov r10d, dword [rbx + 0x4090]
jmp 0x14003ff78
mov r10d, dword [rbx + 0x4074]
bt r10d, 8
jb 0x14003ff9b
xor edx, edx
mov rcx, r15
call fcn.1400500d0
test al, al
jne 0x14003ff9b
mov byte [rbx + 0x400b], 1
xor bl, bl
jmp 0x14004008b
test edi, edi
je 0x14003ffc3
mov rax, qword [0x1401592a8]
mov dword [rax + 0x4000], edi
mov word [rax + 0x4008], r14w
cmp dword [rax + 0x4004], edi
je 0x14003ffc3
mov qword [rax + 0x400c], r14
test r10b, 4
je 0x14003ffe8
cmp dword [rbx + 0x4014], edi
jne 0x14003ffda
xor edx, edx
xor ecx, ecx
call fcn.14005ade0
mov byte [rbx + 0x400b], 1
xor bl, bl
jmp 0x14004008b
test edi, edi
je 0x140040061
cmp byte [rbx + 0x5618], r14b
je 0x140040058
cmp dword [rbx + 0x4004], edi
jne 0x140040058
mov rax, qword [0x1401592a8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x3fc8]
mov rcx, qword [rcx + 0x30]
call fcn.14004e180
movss xmm0, dword [0x14012db64]
lea r8, [rsi + 0x40a0]
movss dword [rsp + 0x30], xmm0
lea rdx, [rsi + 0x4098]
xorps xmm1, xmm1
mov dword [rsp + 0x28], r14d
mov rcx, rax
movss dword [rsp + 0x20], xmm1
mov r9d, 0xff00ffff
call fcn.1400654d0
cmp dword [rbx + 0x561c], edi
jne 0x140040061
int3
cmp byte [rbx + 0x4283], r14b
je 0x14004006e
xor bl, bl
jmp 0x14004008b
mov bl, 1
cmp byte [rsi + 0x3748], r14b
je 0x14004008b
mov rdx, rbp
mov ecx, edi
call fcn.14005ade0
mov rcx, rbp
call fcn.14004d0b0
mov r13, qword [rsp + 0x70]
cmp dword [rsi + 0x4014], edi
jne 0x1400400cd
mov byte [rsi + 0x4021], bl
movsxd rcx, dword [rbp + 0x108]
mov rax, qword [rbp + 0x110]
movss xmm1, dword [0x14012dbdc]
mov r15d, dword [rax + rcx*4 - 4]
mov ecx, r14d
call fcn.14004fe20
movzx ebx, al
call fcn.14005af30
test bl, bl
jne 0x140040123
xor al, al
jmp 0x1400401c4
mov r9d, 0xffffffff
lea rdx, [0x140130259]
mov edi, r9d
lea r10, [0x14012eb00]
mov r8b, reloc.WLDAP32.dll_Ordinal_35
nop
cmp r8b, 0x23
jne 0x140040103
cmp byte [rdx], r8b
jne 0x140040103
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 [r10 + rcx*4]
test r8b, r8b
jne 0x1400400f0
not edi
cmp byte [rsi + 0x43e4], 0
jne 0x140040162
call fcn.140041a60
mov dword [rsi + 0x4404], edi
mov dword [rsi + 0x4408], r15d
mov byte [rsi + 0x43e4], 1
mov dword [rsi + 0x43e8], r12d
mov dword [rsi + 0x43f0], r14d
cmp edi, dword [rsi + 0x4014]
jne 0x140040162
mov byte [rsi + 0x4022], 1
mov eax, dword [rsi + 0x3f48]
mov dword [rsi + 0x43ec], eax
mov byte [rsi + 0x43e5], 1
test r12b, 1
jne 0x1400401b5
xor edx, edx
xor ecx, ecx
call fcn.140040570
cmp dword [rsi + 0x4458], 0
je 0x1400401b5
test dword [rsi + 0x444c], 0x1000
je 0x1400401b5
mov rax, qword [rsi + 0x3fc8]
mov byte [rax + 0xd0], 1
mov byte [rax + 0xd2], 1
mov byte [rax + 0xf0], 1
test r12b, 0x12
jne 0x1400401c2
and dword [rsi + 0x4094], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret