Function at 0x1403983e0
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
push rdi
push r13
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov rax, qword [0x1404aa0c0]
xor rax, rsp
mov qword [rbp - 9], rax
mov esi, edx
mov dword [rbp - 0x51], edx
and esi, 0x1800000
mov edi, edx
mov r13, rcx
and edi, 0x700000
je 0x140398420
test esi, esi
jne 0x140398994
mov rcx, qword [0x1404ab7d0]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140398444
mov dword [rcx + 0x49e8], 0
jmp 0x140398994
mov r10, qword [rcx + 0x4008]
lea rdx, [0x14048a879]
mov qword [rsp + 0x108], rbx
mov r8b, 0x63
mov qword [rsp + 0xd0], r15
lea r15, [0x14041df40]
movsxd rcx, dword [r10 + 0x100]
mov rax, qword [r10 + 0x108]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x140398498
cmp byte [rdx], r8b
jne 0x140398498
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 [r15 + rcx*4]
test r8b, r8b
jne 0x140398485
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4054], ebx
jne 0x1403984d5
lea r8, str.context
mov edx, listen
mov ecx, ebx
call fcn.1403574c0
mov ecx, ebx
call fcn.14035b590
test al, al
je 0x140398984
mov qword [rsp + 0x118], r14
mov r14, qword [0x1404ab7d0]
movaps xmmword [rsp + 0xc0], xmm6
inc word [r14 + 0x5e76]
mov ebx, dword [r14 + 0x5dec]
test edi, edi
jne 0x140398574
mov edx, ebx
lea rcx, [0x14048acb8]
shr edx, 0x14
and dl, 1
call fcn.1403a4e40
test al, al
je 0x140398530
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x14048acb4]
shr edx, 0x15
and dl, 1
call fcn.1403a4e40
test al, al
je 0x140398552
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x14048acc4]
shr edx, 0x16
and dl, 1
call fcn.1403a4e40
test al, al
je 0x140398574
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x1403985c1
test edi, edi
jne 0x140398581
call fcn.1403ada60
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.1403a4e40
test al, al
je 0x1403985a1
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.1403a4e40
test al, al
je 0x1403985c1
btr ebx, 0x17
bts ebx, 0x18
test edi, edi
je 0x1403985c9
test esi, esi
jne 0x140398608
mov rax, qword [0x1404ab7d0]
mov rdx, qword [rax + 0x4008]
cmp byte [rdx + 0xc3], 0
jne 0x140398608
mov r8d, dword [rdx + 0x1c4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1b8], 0
je 0x140398603
neg r8d
sbb ecx, ecx
add ecx, 6
call fcn.14039d530
lea rdx, [rbp - 0x59]
mov dword [rbp - 0x59], 0xbf800000
xorps xmm6, xmm6
mov dword [rbp - 0x55], 0
call fcn.14039e040
test al, al
je 0x140398632
lea rcx, str.Copy
call fcn.14035bba0
mov rcx, qword [0x1404ab7d0]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140398656
mov dword [rcx + 0x49e8], 0
jmp 0x140398960
mov r11, qword [rcx + 0x4008]
lea r9, [0x14048a339]
mov dl, 0x43
movsxd rcx, dword [r11 + 0x100]
mov rax, qword [r11 + 0x108]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edi, r10d
nop
cmp dl, 0x23
jne 0x140398692
cmp byte [r9], dl
jne 0x140398692
cmp byte [r9 + 1], dl
cmove edi, r10d
movzx ecx, dil
movzx eax, dl
movzx edx, byte [r9]
xor rcx, rax
shr edi, 8
inc r9
xor edi, dword [r15 + rcx*4]
test dl, dl
jne 0x140398680
mov rax, qword [r11]
not edi
cmp dword [rax + 0x4054], edi
jne 0x1403986ce
lea r8, str.Copy
mov edx, listen
mov ecx, edi
call fcn.1403574c0
mov ecx, edi
call fcn.14035b590
test al, al
je 0x140398960
movss xmm5, dword [r13]
comiss xmm5, xmm6
mov qword [rsp + 0x110], r12
movss xmm1, dword [0x14048d950]
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
jae 0x14039870e
movaps xmm0, xmm6
jmp 0x140398715
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm2, dword [0x14048da58]
movss xmm3, dword [0x14048d908]
movss xmm8, dword [r13 + 4]
comiss xmm8, xmm6
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si r12d, xmm0
jae 0x140398743
movaps xmm0, xmm6
jmp 0x14039874b
movaps xmm0, xmm8
minss xmm0, xmm1
movss xmm7, dword [r13 + 8]
comiss xmm7, xmm6
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si r15d, xmm0
jae 0x140398768
movaps xmm0, xmm6
jmp 0x14039876f
movaps xmm0, xmm7
minss xmm0, xmm1
and dword [rbp - 0x51], 2
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si esi, xmm0
je 0x140398788
mov edi, 0xff
jmp 0x1403987ac
movss xmm4, dword [r13 + 0xc]
comiss xmm4, xmm6
jb 0x14039879d
movaps xmm0, xmm4
minss xmm0, xmm1
movaps xmm6, xmm0
mulss xmm6, xmm2
movaps xmm1, xmm4
addss xmm6, xmm3
cvttss2si edi, xmm6
cvtps2pd xmm0, xmm1
lea r8, str.__.3ff___.3ff___.3ff___.3ff_
mov edx, 0x40
lea rcx, [rbp - 0x49]
cvtps2pd xmm1, xmm7
movsd qword [rsp + 0x30], xmm0
cvtps2pd xmm3, xmm5
cvtps2pd xmm2, xmm8
movsd qword [rsp + 0x28], xmm1
movq r9, xmm3
movsd qword [rsp + 0x20], xmm2
call fcn.14036e450
lea r9, [rbp - 0x59]
mov qword [rbp - 0x59], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.1403ac420
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
test al, al
je 0x140398831
mov rcx, qword [0x1404ab7d0]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x140398831
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x49]
call rax
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x49]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
call fcn.14036e450
lea r9, [rbp - 0x59]
mov qword [rbp - 0x59], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.1403ac420
test al, al
je 0x140398891
mov rcx, qword [0x1404ab7d0]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x140398891
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x49]
call rax
mov dword [rsp + 0x28], esi
lea r8, [0x14048ab38]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
lea rcx, [rbp - 0x49]
call fcn.14036e450
lea r9, [rbp - 0x59]
mov qword [rbp - 0x59], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.1403ac420
test al, al
je 0x1403988ed
mov rcx, qword [0x1404ab7d0]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1403988ed
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x49]
call rax
cmp dword [rbp - 0x51], 0
jne 0x140398953
mov dword [rsp + 0x30], edi
lea r8, [0x14048ab10]
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x49]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
call fcn.14036e450
lea r9, [rbp - 0x59]
mov qword [rbp - 0x59], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.1403ac420
test al, al
je 0x140398953
mov rcx, qword [0x1404ab7d0]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x140398953
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x49]
call rax
call fcn.14035b4d0
mov r12, qword [rsp + 0x110]
mov dword [r14 + 0x5dec], ebx
call fcn.14035b4d0
dec word [r14 + 0x5e76]
mov r14, qword [rsp + 0x118]
movaps xmm6, xmmword [rsp + 0xc0]
mov rbx, qword [rsp + 0x108]
mov r15, qword [rsp + 0xd0]
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14033ec60
add rsp, 0xd8
pop r13
pop rdi
pop rsi
pop rbp
ret