Function at 0x1400f1580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov r15, rdx
mov r14, rcx
test rdx, rdx
jne 0x1400f15a8
mov ebp, ebx
jmp 0x1400f15e0
movzx ecx, word [rdx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1400f15c9
cmp byte [r15 + 0x16], 1
jne 0x1400f15c9
mov rbp, qword [r15 + 8]
jmp 0x1400f15e0
test cl, 1
je 0x1400f15d3
mov rbp, rbx
jmp 0x1400f15e0
mov dl, 1
mov rcx, r15
call fcn.14019bd70
mov rbp, rax
movzx ecx, word [r15 + 0x14]
mov qword [rsp + 0x70], rsi
test cl, 2
je 0x1400f15fc
cmp byte [r15 + 0x16], 1
jne 0x1400f15fc
mov esi, dword [r15 + 0x10]
jmp 0x1400f1626
test cl, 0x10
je 0x1400f1611
bt cx, 0xa
mov esi, dword [r15 + 0x10]
jae 0x1400f1626
add esi, dword [r15]
jmp 0x1400f1626
test cl, 1
je 0x1400f161a
mov esi, ebx
jmp 0x1400f1626
mov dl, 1
mov rcx, r15
call fcn.14019b3b0
mov esi, eax
mov qword [rsp + 0x30], r13
mov r8d, 0xffffffff
mov dword [rsp + 0x78], r8d
mov rdi, rbx
mov dword [rsp + 0x20], ebx
mov r12d, ebx
test rbp, rbp
je 0x1400f19b5
mov r13d, ebx
nop dword [rax]
mov rax, qword [r14 + 0x18]
lea edx, [r13 - 0x68f72]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1400f1681
cmp dword [rcx + 4], edx
jne 0x1400f1678
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1400f16a3
test edx, edx
js 0x1400f16a3
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f1667
mov dword [rsp + 0x20], r13d
test rdi, rdi
je 0x1400f175d
lea ecx, [r12 + 1]
mov byte [rdi + 0x32], 0
mov dword [rdi + 0x4c], ecx
mov rax, rdi
jmp 0x1400f19b7
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x1400f1681
test rdi, rdi
jne 0x1400f172a
cmp dword [rbx + 0x3c], esi
jne 0x1400f16f1
cmp byte [rbx + 0x37], dil
je 0x1400f16c7
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x1400f16f8
mov rcx, qword [rbx + 0x10]
cmp rcx, rbp
je 0x1400f16e4
movsxd r8, esi
mov rdx, rbp
call fcn.1400b4360
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1400f16f1
mov byte [rbx + 0x32], 0
mov rdi, rbx
mov byte [rbx + 0x36], 0
jmp 0x1400f173e
mov eax, dword [rsp + 0x88]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400f172a
test eax, eax
jne 0x1400f172a
cmp dword [rbx + 0x40], esi
jne 0x1400f172a
movsxd r8, esi
mov rdx, rbp
call fcn.1400b4360
mov r8d, dword [rsp + 0x78]
test eax, eax
jne 0x1400f172a
mov byte [rbx + 0x32], al
mov rdi, rbx
mov byte [rbx + 0x36], 1
jmp 0x1400f173e
mov eax, dword [rbx + 0x4c]
cmp eax, r8d
jae 0x1400f173e
mov r8d, eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r13d
mov eax, dword [rbx + 0x4c]
cmp eax, r12d
cmovbe eax, r12d
inc r13d
mov r12d, eax
cmp r13d, 4
jl 0x1400f1650
jmp 0x1400f1686
movzx eax, word [r15 + 0x14]
mov edx, listen
test al, 0x12
setne cl
bt ax, dx
mov edx, 1
setb al
test al, cl
je 0x1400f1790
lea rax, [0x1401ca030]
cmp qword [r15 + 0x30], rax
jne 0x1400f1790
mov ebx, edx
xor r13d, r13d
jmp 0x1400f1796
xor r13d, r13d
mov ebx, r13d
lea edi, [rsi + 1]
call fcn.1400fc3e0
test eax, eax
jne 0x1400f1980
mov eax, r13d
test ebx, ebx
cmove eax, edi
movsxd rcx, eax
add rcx, 0x50
call fcn.1401cd740
mov rdi, rax
test rax, rax
je 0x1400f1980
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
test ebx, ebx
je 0x1400f17ee
inc qword [rbp - 8]
mov qword [rax + 0x10], rbp
mov byte [rax + 0x34], 1
jmp 0x1400f1804
lea rcx, [rax + 0x50]
movsxd r8, esi
inc r8
mov qword [rax + 0x10], rcx
mov rdx, rbp
call fcn.1400b4460
mov rbx, qword [rsp + 0x80]
mov ecx, 1
mov dword [rdi + 0x38], ecx
mov rdx, rbx
mov rcx, rdi
call fcn.1400f1b50
test eax, eax
je 0x1400f185b
test rbx, rbx
jne 0x1400f1834
mov byte [rdi + 0x32], 1
mov rax, rdi
jmp 0x1400f19b7
mov eax, dword [rdi + 0x38]
cmp eax, 1
jbe 0x1400f1846
dec eax
mov dword [rdi + 0x38], eax
jmp 0x1400f19b5
mov rcx, rdi
call fcn.1400f4110
mov rcx, rdi
call fcn.1401cd540
jmp 0x1400f19b5
mov dword [rdi + 0x3c], esi
lea eax, [r12 + 1]
mov esi, dword [rsp + 0x20]
mov dword [rdi + 0x4c], eax
add esi, 0xfff9708e
mov r15, qword [r14 + 0x18]
mov rbx, qword [r15 + 0x128]
test rbx, rbx
je 0x1400f189a
cmp dword [rbx + 4], esi
jne 0x1400f1891
mov eax, dword [r14 + 0x20]
cmp dword [rbx], eax
je 0x1400f18ae
test esi, esi
js 0x1400f18ae
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1400f1880
mov rcx, qword [r15]
test rcx, rcx
je 0x1400f18d2
mov edx, 0x20
call fcn.1401ccf60
jmp 0x1400f18dc
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400f1918
mov rcx, qword [rbx + 8]
call qword [case.0x1400faf48.0]
lea rax, [0x1400f40d0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x1400f1948
mov ecx, 0x20
call fcn.1401cd740
mov rbx, rax
test rax, rax
je 0x1400f1929
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov eax, dword [r14 + 0x20]
mov dword [rbx], eax
mov dword [rbx + 4], esi
mov rax, qword [r15 + 0x128]
mov qword [rbx + 0x18], rax
mov qword [r15 + 0x128], rbx
cmp dword [r14 + 0x24], 0
jne 0x1400f1918
mov dword [r14 + 0x24], 0xffffffff
lea rax, [0x1400f40d0]
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rax
jmp 0x1400f1948
mov eax, dword [rdi + 0x38]
cmp eax, 1
jbe 0x1400f1938
dec eax
mov dword [rdi + 0x38], eax
jmp 0x1400f1948
mov rcx, rdi
call fcn.1400f4110
mov rcx, rdi
call fcn.1401cd540
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x128]
test rcx, rcx
je 0x1400f197b
cmp dword [rcx + 4], esi
jne 0x1400f1969
mov eax, dword [r14 + 0x20]
cmp dword [rcx], eax
je 0x1400f1977
test esi, esi
js 0x1400f1977
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f1958
mov rax, r13
jmp 0x1400f19b7
mov r13, qword [rcx + 8]
mov rax, r13
jmp 0x1400f19b7
mov rax, qword [r14]
mov ecx, 0x9000
test word [rax + 0x14], cx
je 0x1400f1998
mov rcx, rax
call fcn.14019cfa0
jmp 0x1400f19a1
mov ecx, 1
mov word [rax + 0x14], cx
mov rcx, qword [r14]
mov dword [r14 + 0x24], 7
mov rcx, qword [rcx + 0x18]
call fcn.1401cc8d0
xor eax, eax
mov r13, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
add rsp, 0x38
pop r15
pop r14
pop r12
pop rdi
pop rbp
pop rbx
ret