Function at 0x1400caf50
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 [0x14010a078]
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.0x1400739fa.0]
test eax, eax
jne 0x1400cb571
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400cb52a
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400cb52a
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400cb523
cmp ecx, r8d
jg 0x1400cb523
mov eax, r8d
sub eax, ecx
cmp edx, eax
jg 0x1400cb523
mov r13d, edi
mov rax, qword [rbp - 0x58]
mov ecx, 0xffff
cmp word [rax], cx
jne 0x1400cb484
cmp dword [rsp + 0x54], edi
jne 0x1400cb484
mov eax, dword [rax + 8]
bt eax, 0x14
jb 0x1400cb484
test al, 1
jne 0x1400cb484
test al, 2
jne 0x1400cb484
test al, 4
jne 0x1400cb484
test al, 8
jne 0x1400cb484
test al, 0x10
jne 0x1400cb484
test al, 0x20
jne 0x1400cb484
test al, 0x40
jne 0x1400cb484
test al, al
js 0x1400cb484
bt eax, 8
jb 0x1400cb484
bt eax, 9
jb 0x1400cb484
bt eax, 0xa
jb 0x1400cb484
mov rcx, qword [r14 + 0x70]
lea r8, [rsp + 0x58]
mov rcx, qword [rcx + 0xd8]
call fcn.1400a53a8
test eax, eax
jne 0x1400cb571
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.0x1400739fa.0]
mov r15d, eax
test eax, eax
jne 0x1400cb45b
cmp dword [rbx + 0x320], r13d
je 0x1400cb208
movaps xmm0, xmmword [rbp - 0x20]
movdqu xmmword [rbp - 0x30], xmm0
jmp 0x1400cb238
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.0x1400739fa.0]
mov r15d, eax
test eax, eax
jne 0x1400cb45b
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x70]
call fcn.1400a5880
mov r15d, eax
test eax, eax
jne 0x1400cb44f
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cb280
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x1400739fa.0]
and qword [rbp - 0x48], r13
test eax, eax
jne 0x1400cb571
mov r15d, dword [rsp + 0x50]
cmp r15d, 2
je 0x1400cb443
cmp dword [rdi + 0x80], 0x7fffffff
je 0x1400cb2f5
mov eax, dword [rdi + 0x78]
cmp dword [rsi + 0x70], eax
jge 0x1400cb2a6
mov dword [rsi + 0x70], eax
mov eax, dword [rdi + 0x84]
cmp dword [rsi + 0x7c], eax
jge 0x1400cb2b4
mov dword [rsi + 0x7c], eax
mov eax, dword [rdi + 0x7c]
cmp dword [rsi + 0x74], eax
jge 0x1400cb2bf
mov dword [rsi + 0x74], eax
mov eax, dword [rdi + 0x88]
cmp dword [rsi + 0x80], eax
jge 0x1400cb2d3
mov dword [rsi + 0x80], eax
mov eax, dword [rdi + 0x8c]
cmp dword [rsi + 0x84], eax
jge 0x1400cb2e7
mov dword [rsi + 0x84], eax
mov eax, dword [rdi + 0x80]
cmp dword [rsi + 0x78], eax
jge 0x1400cb2f5
mov dword [rsi + 0x78], eax
test byte [rdi + 0x58], 0x80
jne 0x1400cb30a
test byte [rdi + 0x58], 0x40
jne 0x1400cb30a
test dword [rdi + 0x58], 0x100
je 0x1400cb32b
lea r8, [rsp + 0x50]
mov rdx, r12
mov rcx, r14
call fcn.1400cb870
xor edi, edi
test eax, eax
jne 0x1400cb571
mov r15d, dword [rsp + 0x50]
jmp 0x1400cb32d
xor edi, edi
test r15d, r15d
jne 0x1400cb403
cmp dword [r12 + 0x10], edi
je 0x1400cb352
cmp byte [r14 + 0x4a], dil
je 0x1400cb352
mov eax, dword [r12 + 0x14]
cmp dword [r14 + 0x40], eax
jg 0x1400cb3e2
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.0x1400739fa.0]
test eax, eax
jne 0x1400cb571
mov edx, dword [rbp - 0x70]
test edx, edx
js 0x1400cb3f2
mov ecx, dword [rbp - 0x40]
test ecx, ecx
js 0x1400cb3f2
mov r8d, 0xfffffff
cmp edx, r8d
jg 0x1400cb3db
cmp ecx, r8d
jg 0x1400cb3db
mov eax, r8d
sub eax, ecx
cmp edx, eax
jle 0x1400cb0a8
mov edi, 0xffffff9c
jmp 0x1400cb3f7
mov rax, qword [rsp + 0x68]
mov dword [rax], 1
jmp 0x1400cb4af
mov edi, 0xfffffc18
cmp dword [rbx + 0x280], r13d
jmp 0x1400cb558
cmp dword [rsi + 0x70], edi
jne 0x1400cb4af
cmp dword [rsi + 0x74], edi
jne 0x1400cb4af
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 0x1400cb4af
mov rcx, r14
call fcn.1400cb9cc
xor edi, edi
jmp 0x1400cb4a1
cmp qword [r14 + 0x28], r13
je 0x1400cb45b
cmp qword [r14 + 0x28], rdi
je 0x1400cb47c
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.1400c9f94
mov eax, r15d
jmp 0x1400cb571
cmp dword [rbx + 0x280], edi
jne 0x1400cb4a9
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x1400cb571
mov r13d, 1
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cb4d5
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x1400739fa.0]
test eax, eax
jne 0x1400cb571
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 0x1400cb4fa
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 0x1400cb51f
mov rax, qword [r12]
mov dword [rax + 0x6c], 1
xor eax, eax
jmp 0x1400cb571
mov edi, 0xffffff9c
jmp 0x1400cb52f
mov edi, 0xfffffc18
mov r8, qword [rbp - 0x48]
test r8, r8
je 0x1400cb551
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc8]
call qword [case.0x1400739fa.0]
and qword [rbp - 0x48], r15
cmp dword [rbx + 0x280], r15d
jne 0x1400cb56f
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0xc0]
call qword [case.0x1400739fa.0]
mov eax, edi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400e27e0
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret