Function at 0x14006e900
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.14003fa60
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 0x14006e993
movzx edx, al
mov r9d, r12d
mov eax, dword [rsp + 0xa8]
mov r8d, ebx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.14003f920
movsx r8, word [rsp + 0xb0]
mov r9d, 0xfffffff2
mov edx, eax
mov rcx, r13
call fcn.14003ff50
mov rax, qword [r14]
movzx r15d, byte [rsp + 0xc0]
test dword [rax + 0x2c], 0x80000
je 0x14006e9de
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0xc8]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.140021190
test rax, rax
je 0x14006e9cb
cmp qword [rax + 0x10], rbp
jne 0x14006e9d5
cmp qword [rsi + 0x20], rbp
jne 0x14006e9d5
xor eax, eax
jmp 0x14006e9da
mov eax, 1
test eax, eax
jne 0x14006e9e7
test rdi, rdi
je 0x14006eb97
xor eax, eax
mov rbx, rdi
test rdi, rdi
je 0x14006ea2e
cmp byte [rbx + 0x10], 0x6d
jne 0x14006ea25
test byte [rbx + 0x11], 3
je 0x14006ea25
mov rcx, qword [rbx + 0x20]
xor edx, edx
call fcn.1400940e0
test eax, eax
je 0x14006ea25
mov r9d, r15d
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.140094bd0
test rax, rax
je 0x14006ea25
or ebp, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14006e9f1
mov rdx, rsi
mov rcx, r14
call fcn.140075ac0
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.14003f920
xor eax, eax
mov ebx, eax
cmp ax, word [rsi + 0x42]
jge 0x14006eac9
mov edi, dword [rsp + 0x98]
lea r12d, [rbp + 1]
cmp r15d, 0xffffffff
je 0x14006ea96
cmp ebx, 0x1f
jg 0x14006eaaf
bt r15d, ebx
jae 0x14006eaaf
lea eax, [r12 + rbx]
mov r9d, ebx
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov rcx, r13
call fcn.140059ac0
movsx eax, word [rsi + 0x42]
inc ebx
cmp ebx, eax
jl 0x14006ea85
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 0x14006eb2b
movzx r15d, byte [rsp + 0xc0]
cmp byte [rbx + 0x10], 0x6d
jne 0x14006eb1b
cmp byte [rbx + 0x11], 1
jne 0x14006eb1b
mov rcx, qword [rbx + 0x20]
xor edx, edx
call fcn.1400940e0
test eax, eax
je 0x14006eb1b
mov dword [rsp + 0x28], r12d
mov r9d, ebp
mov r8, rsi
mov dword [rsp + 0x20], r15d
mov rdx, rbx
mov rcx, r14
call fcn.140094c10
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14006eae5
mov eax, dword [rsp + 0xc8]
mov ebx, dword [rsp + 0x98]
cmp eax, dword [r13 + 0x3c]
jge 0x14006eb72
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.14003f920
movsx r8, word [rsp + 0xb0]
mov r9d, 0xfffffff2
mov edx, eax
mov rcx, r13
call fcn.14003ff50
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.140074f50
movzx r15d, byte [rsp + 0xc0]
cmp qword [rsi + 0x18], 0
jne 0x14006ebfe
mov r9d, dword [rsp + 0xa0]
xor eax, eax
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r14
call fcn.14006ed00
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.14003f920
test bl, bl
je 0x14006ebfe
mov r8, qword [rsi]
xor r9d, r9d
mov edx, 0xffffffff
mov rcx, r13
call fcn.14003ff50
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x14006ec70
mov rcx, qword [rsi + 0x70]
lea r8, [rsp + 0xc8]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.140021190
test rax, rax
je 0x14006ec70
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14006ec70
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.140075d10
test rax, rax
je 0x14006ec67
mov dword [rsp + 0x28], 0
mov r9d, ebp
mov r8, rsi
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.140094c10
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x14006ec30
test rdi, rdi
je 0x14006ecb7
cmp byte [rdi + 0x10], 0x6d
jne 0x14006ecae
cmp byte [rdi + 0x11], 2
jne 0x14006ecae
mov rcx, qword [rdi + 0x20]
xor edx, edx
call fcn.1400940e0
test eax, eax
je 0x14006ecae
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.140094c10
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x14006ec75
mov rdx, qword [r13 + 0x30]
not r12d
test r12d, r12d
js 0x14006ecda
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14006ecda
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