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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword [rcx + 0x20]
xor r14d, r14d
sub rax, 0x34
mov qword [rcx + 0x78], r14
mov qword [rcx + 0x28], rax
mov ebp, edx
mov rax, qword [rcx + 0x30]
mov rbx, rcx
mov word [rcx + 0x6a], r14w
mov esi, r14d
mov dword [rcx + 0x3c], r14d
mov qword [rcx + 0x70], rax
mov qword [rax + 0x10], rax
mov word [rcx + 0x68], r14w
cmp r14w, word [rcx + 0xb8]
jge 0x18015794b
movzx r10d, r14w
mov edi, r14d
mov rax, qword [rbx + 0xd0]
mov r9d, ebp
mov dword [rbx + 0x88], r14d
movzx edx, r10w
mov qword [rbx + 0x80], r14
mov rcx, rbx
movzx r8d, word [rax + rdi]
call fcn.180157dc0
test al, al
jne 0x180157ad2
mov rax, qword [rbx + 0xd0]
mov r8d, dword [rbx + 4]
mov edx, dword [rbx + 0x5c]
movzx r10d, word [rdi + rax]
lea eax, [r8 - 1]
test edx, eax
jne 0x1801578db
cmp edx, dword [rbx + 0x60]
jl 0x1801578db
cmp edx, dword [rbx + 0x64]
jg 0x1801578db
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x1801578db
mov rax, qword [rbx + 0x70]
movzx ecx, byte [rcx + 0x18]
xor cl, byte [rax + 0x18]
test cl, 8
jne 0x1801578db
add qword [rbx + 0x30], 0xfffffffffffffffc
mov r9, qword [rbx + 0x70]
mov rax, qword [r9 + 0x10]
cmp qword [rbx + 0x30], rax
je 0x1801578fe
test byte [r9 + 0x18], 8
je 0x1801578fe
neg r8d
and r8d, edx
sub edx, r8d
cmp edx, dword [rbx + 8]
jmp 0x18015790f
lea eax, [r8 - 1]
neg r8d
add eax, edx
and eax, r8d
sub eax, edx
cmp eax, dword [rbx + 8]
setge dl
mov rcx, rbx
call fcn.180158780
test al, al
jne 0x180157ad2
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x180157932
mov qword [r9 + 0x28], rax
movsx eax, word [rbx + 0xb8]
inc esi
add rdi, 2
inc r10w
cmp esi, eax
jl 0x180157864
movzx r11d, word [rbx + 0x68]
mov rdx, qword [rbx + 0x78]
cmp r11w, 1
jbe 0x180157ad6
test rdx, rdx
je 0x180157ad6
mov esi, 0xffff
nop dword [rax]
lea rdi, [rdx + 8]
cmp r11w, 1
jbe 0x180157989
movsxd rcx, dword [rdx + 0x1c]
mov rax, qword [rdx + 0x10]
lea r10, [rax + rcx*4]
jmp 0x18015798c
mov r10, r14
mov qword [rdi], r10
test byte [rdx + 0x18], 8
mov r10d, dword [rdx + 0x20]
mov r8d, r10d
mov eax, dword [rdx + 0x1c]
je 0x1801579a7
dec r10d
add r10d, eax
jmp 0x1801579be
sub r8d, eax
inc r8d
dec eax
mov dword [rdx + 0x20], r8d
movsxd rcx, eax
shl rcx, 2
add qword [rdx + 0x10], rcx
movsxd rax, dword [rbx + 0x3c]
mov r9, qword [rbx + 0x20]
mov rcx, rax
shl rcx, 2
sub r9, rcx
lea edx, [rax - 1]
movsxd rax, edx
test edx, edx
js 0x180157a11
nop word [rax + rax]
cmp r8d, dword [r9 + rax*4]
jge 0x1801579ee
dec edx
sub rax, 1
jns 0x1801579e0
test edx, edx
js 0x180157a11
movsxd rax, edx
cmp r8d, dword [r9 + rax*4]
lea rcx, [r9 + rax*4]
jle 0x180157a40
nop
sub edx, 1
mov eax, dword [rcx]
mov dword [rcx], r8d
lea rcx, [rcx - 4]
mov r8d, eax
jns 0x180157a00
add qword [rbx + 0x28], 0xfffffffffffffffc
mov rax, qword [rbx + 0x28]
cmp rax, qword [rbx + 0x30]
jbe 0x180157acb
movsxd rcx, dword [rbx + 0x3c]
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rax, [rcx*4 + 4]
mov rcx, qword [rbx + 0x20]
sub rcx, rax
mov dword [rcx], r8d
movsxd rax, dword [rbx + 0x3c]
lea r8d, [r10 + 1]
mov r9, qword [rbx + 0x20]
mov rcx, rax
shl rcx, 2
sub r9, rcx
lea edx, [rax - 1]
movsxd rax, edx
test edx, edx
js 0x180157a91
cmp r8d, dword [r9 + rax*4]
jge 0x180157a6e
dec edx
sub rax, 1
jns 0x180157a60
test edx, edx
js 0x180157a91
movsxd rax, edx
cmp r8d, dword [r9 + rax*4]
lea rcx, [r9 + rax*4]
jle 0x180157abc
nop
sub edx, 1
mov eax, dword [rcx]
mov dword [rcx], r8d
lea rcx, [rcx - 4]
mov r8d, eax
jns 0x180157a80
add qword [rbx + 0x28], 0xfffffffffffffffc
mov rax, qword [rbx + 0x28]
cmp rax, qword [rbx + 0x30]
jbe 0x180157acb
movsxd rcx, dword [rbx + 0x3c]
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rax, [rcx*4 + 4]
mov rcx, qword [rbx + 0x20]
sub rcx, rax
mov dword [rcx], r8d
mov rdx, qword [rdi]
add r11w, si
jne 0x180157970
jmp 0x180157ada
mov dword [rbx + 0x38], 0x62
mov al, 1
jmp 0x180157ae5
mov qword [rbx + 0x78], r14
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 0x30], rax
setae al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret