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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x14010d0f8]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rbx, qword [rcx + 8]
mov r14, rcx
mov rax, qword [rbp + 0xa0]
xor edi, edi
mov qword [rsp + 0x78], rax
mov r12, rdx
mov rdx, qword [rbp + 0xb0]
mov r15d, edi
mov ecx, dword [rbx + 0x3e8]
mov rax, qword [rbp + 0xa8]
sub ecx, 2
mov rsi, qword [r12]
mov qword [rbp - 0x80], rax
mov rax, qword [r14 + 0x70]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x50], edi
mov rax, qword [rax + rcx*8 + 0x148]
mov qword [rsp + 0x60], rax
lea eax, [rdi + 1]
mov dword [rbp - 0x10], eax
mov dword [rbp - 0xc], eax
mov dword [rdx], edi
mov eax, dword [r14 + 0x44]
cmp byte [r14 + 0x48], dil
mov r9, qword [r14 + 0x60]
mov edx, dword [r14 + 0x1c]
mov dword [rbp - 0x68], eax
mov eax, dword [r14 + 0x40]
mov dword [rbp - 0x6c], eax
mov eax, dword [r14 + 0x14]
mov dword [rbp - 0x60], eax
mov eax, dword [r14 + 0x50]
mov dword [rbp - 8], eax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x58], rax
mov eax, edi
mov dword [rbp - 0x64], r8d
sete al
mov r8d, dword [r14 + 0x58]
mov dword [rbp - 4], eax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x48]
mov dword [rbp - 0x70], edx
mov dword [rbp], r8d
mov qword [rbp + 8], r9
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 0x28]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x1400cfb01
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400cfaba
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400cfaba
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400cfab3
cmp ecx, r8d
jg 0x1400cfab3
mov eax, r8d
sub eax, ecx
cmp edx, eax
jg 0x1400cfab3
mov r13d, edi
mov rax, qword [rbp - 0x58]
mov ecx, 0xffff
cmp word [rax], cx
jne 0x1400cfa14
cmp dword [rsp + 0x54], edi
jne 0x1400cfa14
mov eax, dword [rax + 8]
bt eax, 0x14
jb 0x1400cfa14
test al, 1
jne 0x1400cfa14
test al, 2
jne 0x1400cfa14
test al, 4
jne 0x1400cfa14
test al, 8
jne 0x1400cfa14
test al, 0x10
jne 0x1400cfa14
test al, 0x20
jne 0x1400cfa14
test al, 0x40
jne 0x1400cfa14
test al, al
js 0x1400cfa14
bt eax, 8
jb 0x1400cfa14
bt eax, 9
jb 0x1400cfa14
bt eax, 0xa
jb 0x1400cfa14
mov rcx, qword [r14 + 0x70]
lea r8, [rsp + 0x58]
mov rcx, qword [rcx + 0xd8]
call fcn.1400a8f7c
test eax, eax
jne 0x1400cfb01
mov rdi, qword [rsp + 0x58]
xor ecx, ecx
mov r8d, 1
mov dword [rdi], 0x4e44534c
mov rax, qword [r14 + 0x28]
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x20], r14
mov qword [rdi + 0x40], rcx
mov eax, dword [r14 + 0x1c]
mov dword [rdi + 0x18], eax
mov eax, dword [r14 + 0x1c]
mov dword [rdi + 0x30], eax
mov eax, dword [r14 + 0x1c]
mov dword [rdi + 0x38], eax
and dword [rdi + 0x58], 0xffffffcc
mov dword [rdi + 0x48], ecx
and dword [rdi + 0x58], 0xfff80033
mov dword [rdi + 0x28], ecx
btr dword [rdi + 0x58], 0x13
mov rax, qword [rbp - 0x50]
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x98], rcx
mov eax, dword [rbp - 0x40]
mov dword [rdi + 0x2c], eax
mov ecx, dword [rdi + 0x18]
add ecx, dword [rbp - 0x40]
mov dword [rdi + 0x1c], ecx
mov rax, qword [r12]
inc dword [rax + 0x38]
lea rax, [rbp - 0x20]
mov r9d, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x50]
mov qword [rbp - 0x38], rdi
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 0xa0]
call qword [case.0x140066f27.0]
mov r15d, eax
test eax, eax
jne 0x1400cf9eb
cmp dword [rbx + 0x320], r13d
je 0x1400cf798
movaps xmm0, xmmword [rbp - 0x20]
movdqu xmmword [rbp - 0x30], xmm0
jmp 0x1400cf7c8
mov r9d, dword [rbp - 0x60]
lea rax, [rbp - 0x30]
mov rdx, qword [rbp - 0x50]
xor r8d, r8d
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 0xa0]
call qword [case.0x140066f27.0]
mov r15d, eax
test eax, eax
jne 0x1400cf9eb
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x70]
call fcn.1400a94b0
mov r15d, eax
test eax, eax
jne 0x1400cf9df
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cf810
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140066f27.0]
and qword [rbp - 0x48], r13
test eax, eax
jne 0x1400cfb01
mov r15d, dword [rsp + 0x50]
cmp r15d, 2
je 0x1400cf9d3
cmp dword [rdi + 0x80], 0x7fffffff
je 0x1400cf885
mov eax, dword [rdi + 0x78]
cmp dword [rsi + 0x70], eax
jge 0x1400cf836
mov dword [rsi + 0x70], eax
mov eax, dword [rdi + 0x84]
cmp dword [rsi + 0x7c], eax
jge 0x1400cf844
mov dword [rsi + 0x7c], eax
mov eax, dword [rdi + 0x7c]
cmp dword [rsi + 0x74], eax
jge 0x1400cf84f
mov dword [rsi + 0x74], eax
mov eax, dword [rdi + 0x88]
cmp dword [rsi + 0x80], eax
jge 0x1400cf863
mov dword [rsi + 0x80], eax
mov eax, dword [rdi + 0x8c]
cmp dword [rsi + 0x84], eax
jge 0x1400cf877
mov dword [rsi + 0x84], eax
mov eax, dword [rdi + 0x80]
cmp dword [rsi + 0x78], eax
jge 0x1400cf885
mov dword [rsi + 0x78], eax
test byte [rdi + 0x58], 0x80
jne 0x1400cf89a
test byte [rdi + 0x58], 0x40
jne 0x1400cf89a
test dword [rdi + 0x58], 0x100
je 0x1400cf8bb
lea r8, [rsp + 0x50]
mov rdx, r12
mov rcx, r14
call fcn.1400cfe14
xor edi, edi
test eax, eax
jne 0x1400cfb01
mov r15d, dword [rsp + 0x50]
jmp 0x1400cf8bd
xor edi, edi
test r15d, r15d
jne 0x1400cf993
cmp dword [r12 + 0x10], edi
je 0x1400cf8e2
cmp byte [r14 + 0x4a], dil
je 0x1400cf8e2
mov eax, dword [r12 + 0x14]
cmp dword [r14 + 0x40], eax
jg 0x1400cf972
mov eax, dword [r14 + 0x40]
mov edx, dword [r14 + 0x1c]
mov r9, qword [r14 + 0x60]
mov r8d, dword [r14 + 0x58]
mov dword [rbp - 0x6c], eax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x48]
mov qword [rbp - 0x10], r13
mov dword [rbp - 0x70], edx
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 0x28]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x1400cfb01
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400cf982
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400cf982
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400cf96b
cmp ecx, r8d
jg 0x1400cf96b
mov eax, r8d
sub eax, ecx
cmp edx, eax
jle 0x1400cf638
mov edi, 0xffffff9c
jmp 0x1400cf987
mov rax, qword [rsp + 0x68]
mov dword [rax], 1
jmp 0x1400cfa3f
mov edi, 0xfffffc18
cmp dword [rbx + 0x280], r13d
jmp 0x1400cfae8
cmp dword [rsi + 0x70], edi
jne 0x1400cfa3f
cmp dword [rsi + 0x74], edi
jne 0x1400cfa3f
mov eax, dword [rbp - 0x20]
mov dword [rsi + 0x70], eax
mov eax, dword [rbp - 0x30]
mov dword [rsi + 0x7c], eax
mov eax, dword [rbp - 0x1c]
mov dword [rsi + 0x74], eax
mov eax, dword [rbp - 0x2c]
mov dword [rsi + 0x80], eax
mov dword [rsi + 0x78], 0x7fffffff
mov dword [rsi + 0x84], 0x7fffffff
jmp 0x1400cfa3f
mov rcx, r14
call fcn.1400cff78
xor edi, edi
jmp 0x1400cfa31
cmp qword [r14 + 0x28], r13
je 0x1400cf9eb
cmp qword [r14 + 0x28], rdi
je 0x1400cfa0c
mov eax, dword [rbx + 0x280]
lea rcx, [rbx + 0x10]
mov rdx, qword [rbx + 8]
lea r8, [rbx + 0x3e8]
mov r9, rdi
mov dword [rsp + 0x20], eax
call fcn.1400ce510
mov eax, r15d
jmp 0x1400cfb01
cmp dword [rbx + 0x280], edi
jne 0x1400cfa39
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x1400cfb01
mov r13d, 1
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cfa65
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140066f27.0]
test eax, eax
jne 0x1400cfb01
mov rax, qword [rsp + 0x70]
mov ecx, edi
cmp r15d, 3
sete cl
mov dword [rax], r13d
mov rax, qword [r12]
mov dword [rax + 0x3c], ecx
jne 0x1400cfa8a
mov rcx, qword [r12]
mov eax, dword [r14 + 0x1c]
mov dword [rcx + 0x50], eax
mov eax, dword [r14 + 0x1c]
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
mov rcx, qword [rbp - 0x80]
mov eax, dword [r14 + 0x40]
mov dword [rcx], eax
test r13d, r13d
jne 0x1400cfaaf
mov rax, qword [r12]
mov dword [rax + 0x6c], 1
xor eax, eax
jmp 0x1400cfb01
mov edi, 0xffffff9c
jmp 0x1400cfabf
mov edi, 0xfffffc18
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cfae1
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140066f27.0]
and qword [rbp - 0x48], r15
cmp dword [rbx + 0x280], r15d
jne 0x1400cfaff
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x140066f27.0]
mov eax, edi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400e6ab0
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret