Function at 0x1400cc90c
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 [0x14010a068]
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.0x140064bf9.0]
test eax, eax
jne 0x1400ccf2d
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400ccee6
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400ccee6
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400ccedf
cmp ecx, r8d
jg 0x1400ccedf
mov eax, r8d
sub eax, ecx
cmp edx, eax
jg 0x1400ccedf
mov r13d, edi
mov rax, qword [rbp - 0x58]
mov ecx, 0xffff
cmp word [rax], cx
jne 0x1400cce40
cmp dword [rsp + 0x54], edi
jne 0x1400cce40
mov eax, dword [rax + 8]
bt eax, 0x14
jb 0x1400cce40
test al, 1
jne 0x1400cce40
test al, 2
jne 0x1400cce40
test al, 4
jne 0x1400cce40
test al, 8
jne 0x1400cce40
test al, 0x10
jne 0x1400cce40
test al, 0x20
jne 0x1400cce40
test al, 0x40
jne 0x1400cce40
test al, al
js 0x1400cce40
bt eax, 8
jb 0x1400cce40
bt eax, 9
jb 0x1400cce40
bt eax, 0xa
jb 0x1400cce40
mov rcx, qword [r14 + 0x70]
lea r8, [rsp + 0x58]
mov rcx, qword [rcx + 0xd8]
call fcn.1400a6538
test eax, eax
jne 0x1400ccf2d
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.0x140064bf9.0]
mov r15d, eax
test eax, eax
jne 0x1400cce17
cmp dword [rbx + 0x320], r13d
je 0x1400ccbc4
movaps xmm0, xmmword [rbp - 0x20]
movdqu xmmword [rbp - 0x30], xmm0
jmp 0x1400ccbf4
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.0x140064bf9.0]
mov r15d, eax
test eax, eax
jne 0x1400cce17
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x70]
call fcn.1400a6a30
mov r15d, eax
test eax, eax
jne 0x1400cce0b
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400ccc3c
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140064bf9.0]
and qword [rbp - 0x48], r13
test eax, eax
jne 0x1400ccf2d
mov r15d, dword [rsp + 0x50]
cmp r15d, 2
je 0x1400ccdff
cmp dword [rdi + 0x80], 0x7fffffff
je 0x1400cccb1
mov eax, dword [rdi + 0x78]
cmp dword [rsi + 0x70], eax
jge 0x1400ccc62
mov dword [rsi + 0x70], eax
mov eax, dword [rdi + 0x84]
cmp dword [rsi + 0x7c], eax
jge 0x1400ccc70
mov dword [rsi + 0x7c], eax
mov eax, dword [rdi + 0x7c]
cmp dword [rsi + 0x74], eax
jge 0x1400ccc7b
mov dword [rsi + 0x74], eax
mov eax, dword [rdi + 0x88]
cmp dword [rsi + 0x80], eax
jge 0x1400ccc8f
mov dword [rsi + 0x80], eax
mov eax, dword [rdi + 0x8c]
cmp dword [rsi + 0x84], eax
jge 0x1400ccca3
mov dword [rsi + 0x84], eax
mov eax, dword [rdi + 0x80]
cmp dword [rsi + 0x78], eax
jge 0x1400cccb1
mov dword [rsi + 0x78], eax
test byte [rdi + 0x58], 0x80
jne 0x1400cccc6
test byte [rdi + 0x58], 0x40
jne 0x1400cccc6
test dword [rdi + 0x58], 0x100
je 0x1400ccce7
lea r8, [rsp + 0x50]
mov rdx, r12
mov rcx, r14
call fcn.1400cd240
xor edi, edi
test eax, eax
jne 0x1400ccf2d
mov r15d, dword [rsp + 0x50]
jmp 0x1400ccce9
xor edi, edi
test r15d, r15d
jne 0x1400ccdbf
cmp dword [r12 + 0x10], edi
je 0x1400ccd0e
cmp byte [r14 + 0x4a], dil
je 0x1400ccd0e
mov eax, dword [r12 + 0x14]
cmp dword [r14 + 0x40], eax
jg 0x1400ccd9e
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.0x140064bf9.0]
test eax, eax
jne 0x1400ccf2d
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400ccdae
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400ccdae
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400ccd97
cmp ecx, r8d
jg 0x1400ccd97
mov eax, r8d
sub eax, ecx
cmp edx, eax
jle 0x1400cca64
mov edi, 0xffffff9c
jmp 0x1400ccdb3
mov rax, qword [rsp + 0x68]
mov dword [rax], 1
jmp 0x1400cce6b
mov edi, 0xfffffc18
cmp dword [rbx + 0x280], r13d
jmp 0x1400ccf14
cmp dword [rsi + 0x70], edi
jne 0x1400cce6b
cmp dword [rsi + 0x74], edi
jne 0x1400cce6b
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 0x1400cce6b
mov rcx, r14
call fcn.1400cd3a4
xor edi, edi
jmp 0x1400cce5d
cmp qword [r14 + 0x28], r13
je 0x1400cce17
cmp qword [r14 + 0x28], rdi
je 0x1400cce38
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.1400cb940
mov eax, r15d
jmp 0x1400ccf2d
cmp dword [rbx + 0x280], edi
jne 0x1400cce65
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x140064bf9.0]
test eax, eax
jne 0x1400ccf2d
mov r13d, 1
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cce91
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140064bf9.0]
test eax, eax
jne 0x1400ccf2d
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 0x1400cceb6
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 0x1400ccedb
mov rax, qword [r12]
mov dword [rax + 0x6c], 1
xor eax, eax
jmp 0x1400ccf2d
mov edi, 0xffffff9c
jmp 0x1400cceeb
mov edi, 0xfffffc18
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400ccf0d
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x140064bf9.0]
and qword [rbp - 0x48], r15
cmp dword [rbx + 0x280], r15d
jne 0x1400ccf2b
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x140064bf9.0]
mov eax, edi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400e3680
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret