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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbx, rdx
mov rdx, qword [rdx]
mov r15, rcx
mov qword [rsp + 0x30], r8
cmp word [rdx + 8], 0xd
jbe 0x14027f32e
lea rbp, [fcn.1402b99d0]
jmp 0x14027f393
mov r8, qword [rdx + 0x18]
mov rax, qword [rbx + 8]
mov r8b, byte [r8]
mov ecx, dword [rax + 0x14]
test r8b, r8b
je 0x14027f34f
and r8d, 2
jne 0x14027f325
mov r9b, 1
mov r8b, 0xff
jmp 0x14027f355
mov r9b, 0xff
mov r8b, 1
test cl, 4
mov byte [rbx + 0x20], r9b
mov byte [rbx + 0x21], r8b
je 0x14027f372
mov rax, qword [rax]
lea rbp, [0x1402d11e0]
mov qword [rbx + 0x10], rax
jmp 0x14027f393
and cl, 0x39
jne 0x14027f325
cmp qword [rdx + 0x20], 0
jne 0x14027f325
mov rdx, qword [rax + 8]
lea rbp, [0x1402d12b0]
mov eax, dword [rax + 0x10]
mov qword [rbx + 0x10], rdx
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1f], 0
cmp byte [r15], 0
jne 0x14027f3fc
mov rcx, qword [r15 + 0x88]
cmp byte [rcx + 8], 0
je 0x14027f3fc
movsx edx, byte [r15 + 0x54]
xor eax, eax
cmp edx, eax
jle 0x14027f3cf
mov r8, qword [r15 + rax*8 + 0x90]
mov r9w, word [r15 + rax*2 + 0x58]
inc rax
cmp r9w, word [r8 + 0x18]
jae 0x14027f3b1
jmp 0x14027f3fc
movzx eax, word [rcx + 0x18]
movzx edx, word [r15 + 0x56]
dec eax
cmp edx, eax
jne 0x14027f3f1
mov r9, rbp
mov r8, rbx
call fcn.14025d160
test eax, eax
jle 0x14027f70a
cmp byte [r15 + 0x54], 0
jg 0x14027f424
mov byte [rbx + 0x1f], 0
mov rcx, r15
call fcn.140266db0
test eax, eax
mov edx, eax
je 0x14027f45c
cmp eax, 0x10
jne 0x14027f719
or eax, 0xffffffff
mov rdi, qword [rsp + 0x30]
xor edx, edx
mov dword [rdi], eax
jmp 0x14027f719
mov rcx, qword [r15 + 0x88]
xor edx, edx
mov r9, rbp
mov r8, rbx
call fcn.14025d160
test eax, eax
jg 0x14027f3f8
cmp byte [rbx + 0x1f], 0
jne 0x14027f3f8
mov rax, qword [r15 + 0x88]
mov ecx, 0x12914
and byte [r15 + 1], 0xfb
cmp byte [rax], 0
je 0x14027f653
lea rax, [r15 + 0x30]
mov qword [rsp + 0x40], rax
mov r14, qword [r15 + 0x88]
xor r12d, r12d
movzx r13d, word [r14 + 0x18]
dec r13d
mov esi, r13d
sar esi, 1
mov rdx, qword [r14 + 0x60]
lea eax, [rsi + rsi]
cdqe
movzx edx, word [rdx + rax]
xchg dl, dh
and dx, word [r14 + 0x1a]
movzx edx, dx
add rdx, qword [r14 + 0x68]
movzx eax, byte [rdx]
cmp byte [r14 + 0xb], al
mov ecx, eax
jb 0x14027f4aa
inc rdx
mov r8, rbx
jmp 0x14027f4cc
movzx ecx, byte [rdx + 1]
test cl, cl
js 0x14027f4d3
shl eax, 7
and eax, 0x3f80
add ecx, eax
movzx eax, word [r14 + 0xe]
cmp eax, ecx
jl 0x14027f4d3
add rdx, 2
mov r8, rbx
call rbp
jmp 0x14027f5a3
movzx eax, byte [r14 + 0xa]
mov rcx, r14
mov r8, qword [rsp + 0x40]
sub rdx, rax
call qword [r14 + pe_nt_image_headers64]
mov rdi, qword [r15 + 0x30]
cmp edi, 1
mov dword [rsp + 0x3c], edi
jle 0x14027f507
mov rcx, qword [r15 + 0x20]
xor edx, edx
mov eax, edi
div dword [rcx + 0x38]
cmp dword [rcx + 0x40], eax
jae 0x14027f511
mov ecx, 0x1296b
jmp 0x14027f5ce
lea ecx, [rdi + 0x12]
movsxd rcx, ecx
call fcn.14029ccf0
test rax, rax
mov r9, rax
je 0x14027f6fc
xor ecx, ecx
mov r8d, edi
xor edx, edx
mov word [r15 + 0x56], si
mov dword [rsp + 0x20], ecx
mov rcx, r15
movsxd rdi, edi
mov qword [rsp + 0x48], rax
call fcn.140229a20
mov r9, qword [rsp + 0x48]
mov ecx, 0x12
mov edx, eax
xor eax, eax
lea r8, [r9 + rdi]
mov rdi, r8
rep stosb byte [rdi], al
and byte [r15 + 1], 0xfb
test edx, edx
je 0x14027f57d
mov rcx, r9
mov dword [rsp + 0x30], edx
call fcn.1402c4500
mov edx, dword [rsp + 0x30]
jmp 0x14027f701
mov ecx, dword [rsp + 0x3c]
mov r8, rbx
mov rdx, r9
mov qword [rsp + 0x48], r9
call fcn.1402b99d0
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x3c], eax
call fcn.1402c4500
mov eax, dword [rsp + 0x3c]
test eax, eax
jns 0x14027f5ad
lea r12d, [rsi + 1]
jmp 0x14027f5da
je 0x14027f5b5
lea r13d, [rsi - 1]
jmp 0x14027f5da
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rax], edx
mov word [r15 + 0x56], si
cmp byte [rbx + 0x1f], 0
je 0x14027f5fd
mov ecx, 0x1298b
call fcn.140283940
mov edx, eax
jmp 0x14027f701
cmp r12d, r13d
jg 0x14027f5ea
lea esi, [r12 + r13]
sar esi, 1
jmp 0x14027f47c
cmp byte [r14 + 8], 0
je 0x14027f604
mov rdi, qword [rsp + 0x30]
mov word [r15 + 0x56], si
mov dword [rdi], eax
xor edx, edx
jmp 0x14027f701
movzx eax, word [r14 + 0x18]
mov rdx, qword [r14 + 0x50]
cmp eax, r12d
jg 0x14027f61d
movzx eax, byte [r14 + 9]
mov edx, dword [rdx + rax + 8]
jmp 0x14027f638
mov rcx, qword [r14 + 0x60]
lea eax, [r12 + r12]
cdqe
movzx eax, word [rcx + rax]
xchg al, ah
and ax, word [r14 + 0x1a]
movzx eax, ax
mov edx, dword [rdx + rax]
mov al, byte [r15 + 0x54]
mov word [r15 + 0x46], 0
bswap edx
and byte [r15 + 1], 0xf9
cmp al, 0x12
jle 0x14027f668
mov ecx, 0x129aa
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140283940
mov r8, qword [r15 + 0x88]
movsx rcx, al
inc eax
mov word [r15 + rcx*2 + 0x58], r12w
mov qword [r15 + rcx*8 + 0x90], r8
mov rcx, qword [r15 + 0x20]
lea r8, [r15 + 0x88]
movzx r9d, byte [r15 + 2]
mov word [r15 + 0x56], 0
mov byte [r15 + 0x54], al
call fcn.14025b9d0
test eax, eax
mov edx, eax
jne 0x14027f6dd
mov rcx, qword [r15 + 0x88]
cmp word [rcx + 0x18], 0
je 0x14027f6c4
mov al, byte [r15 + 0x55]
cmp byte [rcx + 1], al
je 0x14027f465
call fcn.14026f8a0
mov ecx, 0x129b5
call fcn.140283940
test eax, eax
mov edx, eax
je 0x14027f465
mov al, byte [r15 + 0x54]
dec eax
mov byte [r15 + 0x54], al
movsx rax, al
mov rax, qword [r15 + rax*8 + 0x90]
mov qword [r15 + 0x88], rax
jmp 0x14027f701
mov edx, 7
mov word [r15 + 0x46], 0
jmp 0x14027f719
cmp byte [rbx + 0x1f], 0
jne 0x14027f3f1
jmp 0x14027f416
mov eax, edx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret