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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push r13
push r15
sub rsp, 0x118
mov r15, qword [rsp + 0x160]
xor ebp, ebp
mov r11d, dword [rcx]
mov r13, r9
mov r10, rcx
movsxd rbx, dword [r15]
cmp r11d, 0x20000001
jne 0x14006f381
mov eax, ebx
lea rcx, [rax + rax]
and eax, 1
not rcx
add rax, rax
and ecx, 2
or rcx, 1
or rax, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
jmp 0x14006f3d4
cmp r11d, 0x20000002
jne 0x14006f3a8
mov eax, ebx
lea rcx, [rax + rax]
and eax, 1
not rcx
and ecx, 2
add rax, rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
jmp 0x14006f3d4
cmp r11d, 0x30100001
jne 0x14006f3ca
mov eax, ebx
mov ecx, ebx
not rcx
and ecx, 1
and eax, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
jmp 0x14006f3d4
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], rbp
mov r9d, dword [r10 + 4]
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x100], r12
mov qword [rsp + 0xf8], r14
test r9d, r9d
je 0x14006fa34
mov r8d, dword [r10 + 8]
test r8d, r8d
je 0x14006fa34
test r11d, r11d
je 0x14006fa34
cmp qword [r10 + 0x18], rbp
je 0x14006f423
cmp dword [r10 + 0x10], ebp
jne 0x14006f44f
cmp qword [r10 + 0x28], rbp
je 0x14006f42f
cmp dword [r10 + 0x20], ebp
jne 0x14006f44f
cmp qword [r10 + 0x38], rbp
je 0x14006f43b
cmp dword [r10 + 0x30], ebp
jne 0x14006f44f
cmp qword [r10 + 0x48], rbp
je 0x14006fa34
cmp dword [r10 + 0x40], ebp
je 0x14006fa34
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x14006fa34
mov esi, dword [rax]
test esi, esi
js 0x14006fa34
mov edi, dword [rax + 4]
test edi, edi
js 0x14006fa34
mov edx, dword [rax + 8]
test edx, edx
jle 0x14006fa34
mov ecx, dword [rax + 0xc]
test ecx, ecx
jle 0x14006fa34
lea eax, [rdx + rsi]
cmp eax, r9d
jg 0x14006fa34
lea eax, [rcx + rdi]
cmp eax, r8d
jg 0x14006fa34
mov r12d, dword [rsp + 0x188]
mov eax, r12d
imul eax, r12d
mov ecx, r12d
mov dword [rsp + 0x24], eax
call fcn.14006a800
mov r14d, eax
add r14d, r14d
cmp r11d, 0x30100001
je 0x14006f4d7
mov eax, 0xfffffffa
jmp 0x14006fa3b
mov r9d, dword [r10 + 0x20]
lea r8d, [r12 + r12]
mov eax, r9d
sub eax, r8d
mov dword [rsp + 0x70], eax
mov eax, dword [r15 + 4]
sar eax, 1
imul eax, r9d
imul r9d, r12d
mov r12, qword [r13 + 0x18]
movsxd r15, eax
add r15, qword [r10 + 0x28]
mov eax, dword [r13 + 4]
add r15, rbx
mov rbx, qword [rsp + 0x148]
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0x68], r15
lea r11d, [rax + rax]
mov rax, qword [rsp + 0x170]
mov r10d, dword [rbx + 4]
add r11, r12
mov edx, dword [rax + 4]
mov eax, dword [rax]
sub edx, edi
mov rdi, qword [rsp + 0x150]
sub eax, esi
movsxd rcx, eax
mov esi, r10d
sar edx, 1
imul esi, edx
sar rcx, 1
add rsi, qword [rbx + 0x18]
mov ebx, dword [rdi + 4]
add rsi, rcx
mov r15d, ebx
add r10, rsi
imul r15d, edx
add r15, qword [rdi + 0x18]
add r15, rcx
mov rcx, qword [rsp + 0x170]
add rbx, r15
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
dec eax
mov dword [rsp + 0x48], eax
mov eax, r8d
mov qword [rsp + 0xb0], rax
mov eax, r9d
mov qword [rsp + 0xb8], rax
nop word [rax + rax]
mov eax, dword [r13 + 4]
mov r8, r11
add eax, eax
mov qword [rsp + 0xe8], r11
add r11, rax
mov qword [rsp + 0xd8], r10
mov rax, qword [rsp + 0x148]
mov rdi, r12
mov qword [rsp + 0xd0], r11
mov r9, rsi
mov r11, r10
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xe0], rbx
mov r13, r15
mov eax, dword [rax + 4]
add r10, rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xc0], r10
mov eax, dword [rax + 4]
add rbx, rax
mov eax, dword [rcx + 8]
cdq
mov qword [rsp + 0xc8], rbx
sub eax, edx
sar eax, 1
dec eax
mov dword [rsp + 0x44], eax
nop word [rax + rax]
movzx r15d, byte [r8]
add r8, 2
movzx r10d, byte [r9]
inc r9
movzx ebx, byte [r13]
inc r13
movzx r12d, byte [r11]
inc r11
movzx esi, byte [r8]
movzx edx, byte [rdi]
sub esi, r15d
movzx ecx, byte [rdi + 2]
add rdi, 2
movzx eax, byte [r11]
sub ecx, edx
sub eax, r12d
mov qword [rsp + 0x80], r8
movzx r8d, byte [r9]
mov dword [rsp + 0x160], eax
sub r8d, r10d
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x88], r9
movzx r9d, byte [r13]
mov qword [rsp + 0x98], r13
sub r9d, ebx
movzx r13d, byte [rax]
inc rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x90], r11
movzx eax, byte [rax]
sub eax, r13d
mov dword [rsp + 0x140], eax
nop word [rax + rax]
mov rax, qword [rsp + 0x68]
mov r11, rax
test edx, edx
jne 0x14006f6dd
test ecx, ecx
jne 0x14006f6dd
test r15d, r15d
jne 0x14006f6dd
test esi, esi
je 0x14006f8dc
sub esi, ecx
sub r12d, r10d
sub r15d, edx
mov dword [rsp + 0x28], esi
mov esi, r10d
mov eax, ecx
imul eax, dword [rsp + 0x188]
mov ecx, r8d
imul ecx, dword [rsp + 0x188]
mov edi, edx
mov r10d, dword [rsp + 0x160]
sub r13d, ebx
imul edi, dword [rsp + 0x24]
sub r10d, r8d
mov r8d, dword [rsp + 0x140]
mov edx, r9d
imul edx, dword [rsp + 0x188]
sub r8d, r9d
mov r9d, dword [rsp + 0x188]
sub r12d, ecx
imul esi, dword [rsp + 0x24]
mov ebp, ebx
imul ebp, dword [rsp + 0x24]
sub r15d, eax
mov dword [rsp + 0x140], r8d
imul r8d, r9d
sub r13d, edx
imul r13d, r9d
imul r12d, r9d
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x7c], r8d
mov r8d, r10d
imul r8d, r9d
mov dword [rsp + 0x160], r10d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x78], r8d
mov r8d, dword [rsp + 0x28]
imul r8d, r9d
imul r15d, r9d
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x74], r8d
mov dword [rsp + 0x30], r15d
nop dword [rax + rax]
mov r13d, dword [rsp + 0x2c]
mov ebx, r9d
mov r12d, dword [rsp + 0x20]
mov r15, qword [rsp + 0x50]
mov ecx, r14d
mov eax, edi
sar eax, cl
test eax, eax
jle 0x14006f840
mov r8, qword [rsp + 0x178]
mov r10d, 0x100
sub r10d, eax
mov ecx, r14d
movsxd rdx, esi
add edi, r13d
sar rdx, cl
add esi, r12d
movzx r9d, r15b
movzx r8d, byte [rdx + r8]
movzx edx, byte [r9 + r11]
imul edx, r10d
imul r8d, eax
add r8d, edx
movsxd rdx, ebp
sar rdx, cl
mov rcx, qword [rsp + 0x180]
sar r8d, 8
mov byte [r9 + r11], r8b
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x58]
imul ecx, eax
movzx eax, byte [rdx + r11]
imul eax, r10d
add ecx, eax
sar ecx, 8
mov byte [rdx + r11], cl
mov edx, dword [rsp + 0x38]
add ebp, edx
add r11, 2
dec ebx
test ebx, ebx
jg 0x14006f7c2
add r13d, dword [rsp + 0x28]
mov r15d, dword [rsp + 0x30]
add edi, r15d
mov r12d, dword [rsp + 0x34]
add esi, r12d
mov ecx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x40]
add r11, rcx
mov ecx, dword [rsp + 0x20]
dec r8d
add ecx, dword [rsp + 0x160]
sub r15d, dword [rsp + 0x74]
sub r12d, dword [rsp + 0x78]
add edx, dword [rsp + 0x140]
mov r9d, dword [rsp + 0x188]
mov dword [rsp + 0x2c], r13d
mov r13d, dword [rsp + 0x3c]
add ebp, r13d
sub r13d, dword [rsp + 0x7c]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x40], r8d
test r8d, r8d
jg 0x14006f7b0
mov rdi, qword [rsp + 0xa0]
xor ebp, ebp
mov rax, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x44]
add rax, qword [rsp + 0xb0]
dec r11d
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x44], r11d
test r11d, r11d
jg 0x14006f99e
jne 0x14006f9c3
mov rax, qword [rsp + 0x80]
mov esi, ebp
movzx edx, byte [rdi]
mov ecx, ebp
add rdi, 2
mov dword [rsp + 0x160], ebp
mov qword [rsp + 0xa0], rdi
mov r8d, ebp
movzx r15d, byte [rax]
mov r9d, ebp
add rax, 2
mov dword [rsp + 0x140], ebp
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x88]
movzx r10d, byte [rax]
inc rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x90]
movzx r12d, byte [rax]
inc rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x98]
movzx ebx, byte [rax]
inc rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x60]
movzx r13d, byte [rax]
inc rax
mov qword [rsp + 0x60], rax
jmp 0x14006f6c0
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
jmp 0x14006f620
mov ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0xa8]
dec ecx
add rax, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xc0]
test ecx, ecx
mov rbx, qword [rsp + 0xc8]
mov r11, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x158]
mov dword [rsp + 0x48], ecx
mov rcx, qword [rsp + 0x170]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rax
jg 0x14006f5a0
jmp 0x14006fa39
mov ebp, 0xfffffffc
mov eax, ebp
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x110]
add rsp, 0x118
pop r15
pop r13
pop rbp
pop rbx
ret