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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r13, qword [rcx + 0x10]
mov r14, rcx
xor eax, eax
mov rcx, r13
mov ebx, r9d
mov rdi, r8
mov rsi, rdx
mov ebp, eax
call fcn.140050da0
mov r12d, eax
mov dword [rsp + 0x88], eax
movzx eax, byte [rsi + 0x48]
shr al, 4
not al
and al, 2
or al, 0x44
mov byte [rsp + 0x80], al
cmp byte [rsp + 0xc8], bpl
jne 0x140080013
movzx edx, al
mov r9d, r12d
mov eax, dword [rsp + 0xa8]
mov r8d, ebx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140050c60
movsx r8, word [rsp + 0xb0]
mov r9d, 0xfffffff2
mov edx, eax
mov rcx, r13
call fcn.140051290
mov rax, qword [r14]
movzx r15d, byte [rsp + 0xc0]
test dword [rax + 0x2c], 0x80000
je 0x14008005e
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0xc8]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.1400324b0
test rax, rax
je 0x14008004b
cmp qword [rax + 0x10], rbp
jne 0x140080055
cmp qword [rsi + 0x20], rbp
jne 0x140080055
xor eax, eax
jmp 0x14008005a
mov eax, 1
test eax, eax
jne 0x140080067
test rdi, rdi
je 0x140080217
xor eax, eax
mov rbx, rdi
test rdi, rdi
je 0x1400800ae
cmp byte [rbx + 0x10], 0x6d
jne 0x1400800a5
test byte [rbx + 0x11], 3
je 0x1400800a5
mov rcx, qword [rbx + 0x20]
xor edx, edx
call fcn.1400a5770
test eax, eax
je 0x1400800a5
mov r9d, r15d
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.1400a6260
test rax, rax
je 0x1400800a5
or ebp, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140080071
mov rdx, rsi
mov rcx, r14
call fcn.140087100
mov edx, dword [r14 + 0x54]
mov r15d, eax
movsx ecx, word [rsi + 0x42]
xor eax, eax
mov r8d, dword [rsp + 0xa8]
inc ecx
or r15d, ebp
mov dword [rsp + 0x20], eax
lea ebp, [rdx + 1]
add edx, ecx
mov dword [r14 + 0x54], edx
mov r9d, ebp
mov edx, 0x21
mov rcx, r13
call fcn.140050c60
xor eax, eax
mov ebx, eax
cmp ax, word [rsi + 0x42]
jge 0x140080149
mov edi, dword [rsp + 0x98]
lea r12d, [rbp + 1]
cmp r15d, 0xffffffff
je 0x140080116
cmp ebx, 0x1f
jg 0x14008012f
bt r15d, ebx
jae 0x14008012f
lea eax, [r12 + rbx]
mov r9d, ebx
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov rcx, r13
call fcn.14006b030
movsx eax, word [rsi + 0x42]
inc ebx
cmp ebx, eax
jl 0x140080105
mov rdi, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x88]
mov eax, dword [r13 + 0x3c]
mov rbx, rdi
mov dword [rsp + 0xc8], eax
test rdi, rdi
je 0x1400801ab
movzx r15d, byte [rsp + 0xc0]
cmp byte [rbx + 0x10], 0x6d
jne 0x14008019b
cmp byte [rbx + 0x11], 1
jne 0x14008019b
mov rcx, qword [rbx + 0x20]
xor edx, edx
call fcn.1400a5770
test eax, eax
je 0x14008019b
mov dword [rsp + 0x28], r12d
mov r9d, ebp
mov r8, rsi
mov dword [rsp + 0x20], r15d
mov rdx, rbx
mov rcx, r14
call fcn.1400a62a0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140080165
mov eax, dword [rsp + 0xc8]
mov ebx, dword [rsp + 0x98]
cmp eax, dword [r13 + 0x3c]
jge 0x1400801f2
mov eax, dword [rsp + 0xa8]
mov r9d, r12d
movzx edx, byte [rsp + 0x80]
mov r8d, ebx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140050c60
movsx r8, word [rsp + 0xb0]
mov r9d, 0xfffffff2
mov edx, eax
mov rcx, r13
call fcn.140051290
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x28], eax
mov r8d, ebp
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.140086590
movzx r15d, byte [rsp + 0xc0]
cmp qword [rsi + 0x18], 0
jne 0x14008027e
mov r9d, dword [rsp + 0xa0]
xor eax, eax
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r14
call fcn.140080380
movzx ebx, byte [rsp + 0xb8]
xor eax, eax
mov r8d, dword [rsp + 0x98]
mov r9d, eax
test bl, bl
mov dword [rsp + 0x20], eax
mov edx, 0x5f
mov rcx, r13
setne r9b
call fcn.140050c60
test bl, bl
je 0x14008027e
mov r8, qword [rsi]
xor r9d, r9d
mov edx, 0xffffffff
mov rcx, r13
call fcn.140051290
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x1400802f0
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0xc8]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.1400324b0
test rax, rax
je 0x1400802f0
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400802f0
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.140087350
test rax, rax
je 0x1400802e7
mov dword [rsp + 0x28], 0
mov r9d, ebp
mov r8, rsi
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.1400a62a0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1400802b0
test rdi, rdi
je 0x140080337
cmp byte [rdi + 0x10], 0x6d
jne 0x14008032e
cmp byte [rdi + 0x11], 2
jne 0x14008032e
mov rcx, qword [rdi + 0x20]
xor edx, edx
call fcn.1400a5770
test eax, eax
je 0x14008032e
movzx eax, r15b
mov r9d, ebp
mov dword [rsp + 0x28], r12d
mov r8, rsi
mov rdx, rdi
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400a62a0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400802f5
mov rdx, qword [r13 + 0x30]
not r12d
test r12d, r12d
js 0x14008035a
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14008035a
mov eax, dword [r13 + 0x3c]
movsxd rcx, r12d
mov dword [r8 + rcx*4], eax
mov eax, dword [r13 + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret