Function at 0x14009cf60
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
mov byte [rax + 0x18], r8b
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x108
cmp byte [rcx + 0xf6], 0
movzx r14d, r9b
mov rbx, qword [0x1401acd00]
mov rsi, rdx
mov r15d, dword [rcx + 0x14]
mov rdi, rcx
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x78], xmm8
vmovss xmm8, dword [rcx + 0x94]
vmovaps xmmword [rax - 0x88], xmm9
vmovss xmm9, dword [rbp + 0x70]
vmovaps xmmword [rsp + 0x70], xmm13
vmovss xmm13, dword [rcx + 0x90]
mov byte [rcx + 0xf8], 0
je 0x14009d06a
vmovss xmm6, dword [rbx + 0x3a40]
vmovss dword [rbx + 0x3a40], xmm8
test r8b, r8b
je 0x14009cffb
cmp byte [rbx + 0x4d4a], 0
mov ecx, 0x198
je 0x14009d000
mov ecx, 0x1a8
mov rax, qword [0x1401acd00]
vmovups xmm0, xmmword [rcx + rax + 0x39f8]
vmovups xmmword [rsp + 0x50], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
lea rcx, [rsp + 0x50]
vmovss dword [rsp + 0x5c], xmm0
call fcn.140083b00
mov rdx, qword [rsi + 8]
mov r8d, eax
mov rcx, qword [rsi]
or r8d, 0xff000000
cmp byte [rdi + 0xf2], 0
mov r9b, 1
vmovss dword [rsp + 0x20], xmm13
cmove r8d, eax
call fcn.14009b440
vmovss dword [rbx + 0x3a40], xmm6
jmp 0x14009d9b3
mov qword [rsp + 0x100], r12
mov r12d, 1
mov qword [rsp + 0xf8], r13
xor r13d, r13d
vmovaps xmmword [rsp + 0xd0], xmm7
vmovaps xmmword [rsp + 0xa0], xmm10
vxorps xmm10, xmm10, xmm10
test r15b, r15b
js 0x14009d2fa
xor sil, sil
cmp byte [rbx + 0x4f18], sil
je 0x14009d0f8
mov eax, dword [rbx + 0x4098]
sub eax, dword [rbx + 0x4f9c]
cmp eax, r12d
jg 0x14009d0f8
cmp byte [rbx + 0x5b], sil
je 0x14009d0f8
cmp dword [rbx + 0x4f3c], 0xffffffff
je 0x14009d0f8
lea rdx, [rbx + 0x4f40]
lea rcx, str._IMWINDOW
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14009d0f8
mov rax, qword [rbx + 0x4f28]
movzx esi, sil
cmp qword [rax], rdi
cmove esi, r12d
test r15d, 0x6000000
je 0x14009d108
mov ecx, 0x128
jmp 0x14009d122
bt r15d, 0x18
jae 0x14009d11d
mov ecx, pe_nt_image_headers64
test byte [rdi + 0x43d], r12b
je 0x14009d122
mov ecx, 0x108
mov rax, qword [0x1401acd00]
vmovups xmm0, xmmword [rcx + rax + 0x39f8]
vmovups xmmword [rsp + 0x50], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
lea rcx, [rsp + 0x50]
vmovss dword [rsp + 0x5c], xmm0
call fcn.140083b00
mov r14d, eax
cmp byte [rdi + 0xf2], r13b
je 0x14009d18f
or r14d, 0xff000000
test sil, sil
je 0x14009d1f7
mov rcx, qword [rdi + 0x40]
vmovss xmm0, dword [rcx + 0x80]
vmulss xmm0, xmm0, dword [0x140155d58]
vmovss dword [rcx + 0x80], xmm0
jmp 0x14009d1f7
mov eax, dword [rbx + 0x4b38]
vmovss xmm1, dword [0x1401509fc]
vmovaps xmm0, xmm1
and eax, 0x40
je 0x14009d1ae
vmovss xmm0, dword [rbx + 0x4ba0]
vmovss xmm2, dword [0x140155d58]
test sil, sil
je 0x14009d1c1
vmulss xmm0, xmm0, xmm2
jmp 0x14009d1c5
test eax, eax
je 0x14009d1f7
vcomiss xmm0, xmm10
jae 0x14009d1d2
vxorps xmm1, xmm1, xmm1
jmp 0x14009d1d6
vminss xmm1, xmm0, xmm1
vmulss xmm0, xmm1, dword [0x14015b6fc]
mov eax, r14d
vaddss xmm1, xmm0, xmm2
vcvttss2si ecx, xmm1
shl ecx, 0x18
and eax, 0xffffff
mov r14d, ecx
or r14d, eax
lea r13, [rdi + 0x43d]
test byte [rdi + 0x43d], r12b
je 0x14009d235
mov rax, qword [rdi + 0x458]
mov dword [rax + 0x84], r14d
test byte [rdi + 0x43d], r12b
je 0x14009d235
mov rax, qword [rdi + 0x458]
mov rcx, qword [rax + 0x88]
mov rsi, qword [rcx + 0x2e0]
jmp 0x14009d243
mov rsi, qword [rdi + 0x2e0]
bt r15d, 0x1d
jae 0x14009d25a
lea r12, [rsi + 0xa8]
xor r8d, r8d
mov rcx, r12
mov rdx, rsi
call fcn.1400b01d0
jmp 0x14009d261
lea r12, [rsi + 0xa8]
vmovss xmm7, dword [rdi + 0x58]
vaddss xmm0, xmm7, dword [rdi + 0x60]
vmovss xmm6, dword [rdi + 0x5c]
vmovss dword [rbp + 0x40], xmm0
vaddss xmm0, xmm6, dword [rdi + 0x64]
mov rcx, rdi
vmovss dword [rbp + 0x44], xmm0
call fcn.1400a0d10
mov eax, 0xc0
lea r8, [rbp + 0x40]
mov ecx, 0
lea rdx, [rsp + 0x38]
vaddss xmm0, xmm6, xmm0
test r15b, 1
mov r9d, r14d
vmovss dword [rsp + 0x38], xmm7
cmovne eax, ecx
mov rcx, rsi
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm13
vmovss dword [rsp + 0x3c], xmm0
call fcn.1400aa290
test byte [r13], 1
jne 0x14009d2d4
bt r15d, 0x1d
jae 0x14009d2e5
mov r8d, 1
mov rdx, rsi
mov rcx, r12
call fcn.1400b01d0
movzx r14d, byte [rbp + 0x58]
xor r13d, r13d
movzx r8d, byte [rbp + 0x50]
mov rsi, qword [rbp + 0x48]
lea r12d, [r13 + 1]
movzx eax, byte [rdi + 0x43d]
test al, 1
je 0x14009d31a
mov rax, qword [rdi + 0x458]
or byte [rax + 0xcc], 4
movzx eax, byte [rdi + 0x43d]
test r15b, 1
jne 0x14009d394
test al, 1
jne 0x14009d394
mov rcx, qword [0x1401acd00]
movzx eax, r8b
add rax, rax
vmovups xmm0, xmmword [rcx + rax*8 + 0x3b80]
vmovups xmmword [rsp + 0x50], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x39f8]
lea rcx, [rsp + 0x50]
vmovss dword [rsp + 0x5c], xmm0
call fcn.140083b00
mov rcx, qword [rdi + 0x2e0]
lea r8, [rsi + 8]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
or r9d, 0xff000000
mov rdx, rsi
cmp byte [rdi + 0xf2], 0
vmovss dword [rsp + 0x20], xmm13
cmove r9d, eax
call fcn.1400aa290
bt r15d, 0xa
jae 0x14009d5a4
mov r8d, dword [rdi + 0x14]
mov rcx, qword [rdi]
vmovaps xmmword [rsp + 0x90], xmm11
vmovaps xmmword [rsp + 0x80], xmm12
test r8b, 1
je 0x14009d3c4
vxorps xmm0, xmm0, xmm0
jmp 0x14009d400
vmovss xmm0, dword [rcx + 0x3e7c]
mov rdx, qword [rdi + 0x3b0]
vmulss xmm1, xmm0, dword [rdi + 0x2d0]
vmulss xmm2, xmm1, dword [rdi + 0x2d4]
test rdx, rdx
je 0x14009d3f0
vmulss xmm2, xmm2, dword [rdx + 0x2d0]
vmovss xmm0, dword [rcx + 0x3a38]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vmovss xmm4, dword [rdi + 0x5c]
vaddss xmm5, xmm4, xmm0
bt r8d, 0xa
jae 0x14009d456
vmovss xmm0, dword [rdi + 0x2d0]
mov rax, qword [rdi + 0x3b0]
vmulss xmm1, xmm0, dword [rcx + 0x3e7c]
vmulss xmm2, xmm1, dword [rdi + 0x2d4]
test rax, rax
je 0x14009d43c
vmulss xmm2, xmm2, dword [rax + 0x2d0]
vmovss xmm0, dword [rcx + 0x3a38]
vaddss xmm1, xmm2, dword [rdi + 0x1a8]
vaddss xmm0, xmm0, xmm0
vaddss xmm3, xmm1, xmm0
jmp 0x14009d45a
vxorps xmm3, xmm3, xmm3
mov rax, qword [0x1401acd00]
lea rcx, [rsp + 0x50]
vaddss xmm1, xmm4, dword [rdi + 0x64]
vmovss xmm11, dword [rdi + 0x58]
vaddss xmm0, xmm3, xmm5
vminss xmm7, xmm1, xmm0
vaddss xmm1, xmm11, dword [rdi + 0x68]
vaddss xmm0, xmm11, dword [rdi + 0x60]
vminss xmm12, xmm1, xmm0
vmovups xmm0, xmmword [rax + 0x3bb0]
vmovups xmmword [rsp + 0x50], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vsubss xmm1, xmm12, xmm8
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rbp + 0x40], xmm1
vaddss xmm0, xmm11, xmm8
vmaxss xmm1, xmm4, xmm5
mov eax, r15d
and eax, 1
vmovss dword [rsp + 0x38], xmm0
vmovss dword [rsp + 0x3c], xmm1
vmovd xmm0, eax
vmovd xmm1, r13d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm6, xmm13, xmm10, xmm2
vmovss dword [rbp + 0x44], xmm7
call fcn.140083b00
mov rcx, qword [rdi + 0x2e0]
lea r8, [rbp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
lea rdx, [rsp + 0x38]
vmovss dword [rsp + 0x20], xmm6
call fcn.1400aa290
vmovss xmm6, dword [rbx + 0x3a40]
vcomiss xmm6, xmm10
jbe 0x14009d592
vmovss xmm0, dword [rdi + 0x5c]
vaddss xmm1, xmm0, dword [rdi + 0x64]
vcomiss xmm7, xmm1
jae 0x14009d592
mov rax, qword [0x1401acd00]
lea rcx, [rsp + 0x50]
vunpcklps xmm1, xmm12, xmm7
vmovups xmm0, xmmword [rax + 0x3b30]
vmovups xmmword [rsp + 0x50], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rbp + 0x40], xmm11
vmovss dword [rbp + 0x44], xmm7
vmovsd qword [rsp + 0x48], xmm1
call fcn.140083b00
mov rcx, qword [rdi + 0x2e0]
lea r8, [rsp + 0x48]
mov r9d, eax
lea rdx, [rbp + 0x40]
vmovss dword [rsp + 0x20], xmm6
call fcn.1400a9190
vmovaps xmm11, xmmword [rsp + 0x90]
vmovaps xmm12, xmmword [rsp + 0x80]
test byte [rdi + 0x43d], 1
mov rsi, qword [rdi + 0x458]
vmovaps xmm10, xmmword [rsp + 0xa0]
je 0x14009d7f8
mov ecx, dword [rsi + 0x10]
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x14009d7f8
shr ecx, 0xc
test cl, 1
jne 0x14009d7f8
vmovss xmm1, dword [rbx + 0x3e78]
vmulss xmm0, xmm1, dword [0x14015b6a8]
vmovss xmm3, dword [rsi + 0x48]
movsxd rcx, dword [rdi + 0x130]
lea rdx, [0x14015a3a9]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x1401509f4]
vmovss xmm1, dword [rsi + 0x4c]
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
mov rax, qword [rdi + 0x138]
lea r10, [0x140158df0]
vaddss xmm5, xmm2, xmm1
vunpcklps xmm1, xmm3, xmm1
vaddss xmm4, xmm2, xmm3
vmovsd qword [rsp + 0x38], xmm1
vmovsd qword [rsp + 0x50], xmm1
vmovss dword [rsp + 0x58], xmm4
vmovss dword [rsp + 0x5c], xmm5
mov r9d, dword [rax + rcx*4 - 4]
mov r8b, 0x23
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x14009d678
cmp byte [rdx], r8b
jne 0x14009d678
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 0x14009d665
mov rax, qword [rdi]
not ebx
cmp dword [rax + 0x418c], ebx
jne 0x14009d6b7
xor r9d, r9d
lea r8, str.UNHIDE
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.140084200
mov rax, qword [0x1401acd00]
cmp dword [rax + 0x41a4], ebx
jne 0x14009d6cc
mov dword [rax + 0x41a8], ebx
cmp dword [rax + 0x41d0], ebx
jne 0x14009d6db
mov byte [rax + 0x41d4], 1
lea r9, [rsp + 0x30]
mov dword [rsp + 0x20], 0x800
lea r8, [rbp + 0x40]
mov edx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400c5fa0
test al, al
je 0x14009d705
or byte [rsi + 0xcd], 4
jmp 0x14009d742
cmp byte [rsp + 0x30], 0
je 0x14009d753
mov rax, qword [0x1401acd00]
cmp byte [rax + 0xe50], 0
je 0x14009d742
vmovss xmm0, dword [rax + 0x74]
vmulss xmm1, xmm0, xmm0
vcomiss xmm1, dword [rax + 0x38f0]
setbe al
test al, al
je 0x14009d742
mov r8b, 1
mov rdx, rsi
mov rcx, rdi
call fcn.1400a0a60
cmp byte [rsp + 0x30], 0
movzx eax, byte [rbp + 0x40]
je 0x14009d757
test al, al
jne 0x14009d764
jmp 0x14009d757
movzx eax, byte [rbp + 0x40]
test byte [rsi + 0xcc], 2
je 0x14009d76b
test al, al
jne 0x14009d76b
mov ecx, reloc.portaudio.dll_Ordinal_23
jmp 0x14009d777
test al, al
mov rcx, r13
setne cl
add rcx, 0x15
mov rax, qword [0x1401acd00]
add rcx, rcx
vmovss xmm1, dword [rsp + 0x38]
vmovss xmm2, dword [rsp + 0x3c]
vmovss dword [rsp + 0x40], xmm1
vmovups xmm0, xmmword [rax + rcx*8 + 0x3ae0]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x39f8]
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm0, xmm6, xmm2
vaddss xmm1, xmm1, xmm6
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x44], xmm0
vmovss dword [rsp + 0x48], xmm1
vmovss dword [rsp + 0x4c], xmm2
call fcn.140083b00
mov rcx, qword [rdi + 0x2e0]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x38]
call fcn.1400aa5e0
cmp byte [rdi + 0xf0], 0
je 0x14009d808
xor ecx, ecx
call fcn.1400cc960
cmp byte [rdi + 0xf1], 0
je 0x14009d819
mov ecx, r12d
call fcn.1400cc960
test r14b, r14b
je 0x14009d99a
test r15b, 2
jne 0x14009d988
mov r14d, r13d
mov r13d, dword [rbp + 0x60]
test r13d, r13d
jle 0x14009d988
mov r15, qword [rbp + 0x68]
lea rsi, [0x140159438]
nop word [rax + rax]
mov r12d, dword [r15]
test r12d, 0xff000000
je 0x14009d974
vmovss xmm0, dword [rsi - 8]
vmulss xmm1, xmm0, dword [rdi + 0x60]
vmovss xmm0, dword [rdi + 0x64]
vaddss xmm6, xmm1, dword [rdi + 0x58]
vmulss xmm1, xmm0, dword [rsi - 4]
vaddss xmm7, xmm1, dword [rdi + 0x5c]
mov ebx, r14d
and ebx, 1
je 0x14009d892
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
jmp 0x14009d89c
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
vmulss xmm0, xmm0, dword [rsi]
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rbp + 0x40]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm2, dword [rsi + 4]
vmovss dword [rbp + 0x40], xmm1
vaddss xmm1, xmm0, xmm7
vmovss dword [rbp + 0x44], xmm1
call fcn.1400999b0
test ebx, ebx
je 0x14009d8d7
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
jmp 0x14009d8e1
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
vmulss xmm0, xmm0, dword [rsi]
mov rcx, qword [rdi + 0x2e0]
lea rdx, [rsp + 0x48]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm2, dword [rsi + 4]
vmovss dword [rsp + 0x48], xmm1
vaddss xmm1, xmm0, xmm7
vmovss dword [rsp + 0x4c], xmm1
call fcn.1400999b0
mov eax, dword [rsi + 0xc]
lea rdx, [rsp + 0x40]
mov r9d, dword [rsi + 8]
mov rcx, qword [rdi + 0x2e0]
vaddss xmm2, xmm8, xmm13
vmulss xmm0, xmm2, dword [rsi]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm2, dword [rsi + 4]
vmovss dword [rsp + 0x40], xmm1
vaddss xmm1, xmm0, xmm7
vmovaps xmm2, xmm13
vmovss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x20], eax
call fcn.1400ae1c0
mov rbx, qword [rdi + 0x2e0]
mov r9d, r12d
mov rcx, rbx
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
call fcn.1400a7bc0
xor eax, eax
mov dword [rbx + 0x78], eax
inc r14d
add r15, 4
add rsi, 0x18
cmp r14d, r13d
jl 0x14009d850
cmp qword [rdi + 0x460], 0
jne 0x14009d99a
mov rcx, rdi
call fcn.14009d9e0
mov r13, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
vmovaps xmm7, xmmword [rsp + 0xd0]
vmovaps xmm13, xmmword [rsp + 0x70]
lea r11, [rsp + 0x108]
vmovaps xmm6, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x48]
vmovaps xmm9, xmmword [r11 - 0x58]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret