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

Disassembly:
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
movsxd rbp, dword [rcx + 0x3c]
xor r15d, r15d
add rbp, rcx
mov r13b, dl
mov r14, rcx
mov r12d, 1
lea rbx, [rbp + 0x108]
test dl, dl
je 0x14005ea74
mov edx, 0x5f4e37c0
mov ecx, 0x54045fc0
call fcn.14005e6f0
mov dword [rbp + 8], eax
movzx eax, word [rbp + 6]
lea ecx, [rax + rax*4]
lea ebx, [rcx*8 + 0x108]
mov ecx, ebx
mov r15d, ebx
call fcn.14005dee4
mov rdi, rax
mov ecx, ebx
mov rsi, rbp
mov r12, rax
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbp + 0x54]
mov ecx, 0x80
sub edx, ebx
call fcn.14005e754
mov edx, eax
and edx, 7
je 0x14005e918
mov ecx, 8
sub ecx, edx
add eax, ecx
mov esi, dword [rbp + 0x54]
mov edx, eax
sub esi, ebx
and edx, 0xfffffff8
cmp eax, esi
mov rdi, rbp
mov rcx, r15
mov rsi, r12
cmovbe edx, eax
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r15
mov ebx, edx
lea rdi, [r14 + rdx]
rep movsb byte [rdi], byte [rsi]
mov rcx, r12
call fcn.14005e454
movzx r15d, word [r14 + 0x18]
mov edx, 2
movsxd rbp, ebx
add r15, 0x40
mov dword [r14 + 0x3c], ebx
add rbp, r14
xor ecx, ecx
add r15, r14
lea rbx, [rbp + 0x108]
call fcn.14005e6f0
shl eax, 3
mov r12, rbp
movsxd rcx, eax
mov edi, 0xff
sub r12, rcx
mov edx, edi
xor ecx, ecx
call fcn.14005e6f0
mov edx, edi
mov dword [rsp + 0x90], eax
xor ecx, ecx
call fcn.14005e6f0
mov edx, edi
mov dword [rsp + 0x98], eax
xor ecx, ecx
call fcn.14005e6f0
xor edi, edi
mov dword [rsp + 0x20], eax
mov edx, eax
cmp r15, r12
jae 0x14005ea2a
mov r13d, dword [rsp + 0x90]
mov rsi, r15
mov r14d, dword [rsp + 0x98]
mov ecx, edi
and ecx, 0x80000007
jge 0x14005e9db
dec ecx
or ecx, 0xfffffff8
inc ecx
sub ecx, 5
je 0x14005ea05
sub ecx, 1
je 0x14005ea00
cmp ecx, 1
je 0x14005e9fc
mov edx, 0xff
xor ecx, ecx
call fcn.14005e6f0
mov edx, dword [rsp + 0x20]
jmp 0x14005ea08
mov eax, edx
jmp 0x14005ea08
mov eax, r14d
jmp 0x14005ea08
mov eax, r13d
mov byte [rsi], al
inc edi
movsxd rax, edi
inc rsi
add rax, r15
cmp rax, r12
jb 0x14005e9ca
mov r14, qword [rsp + 0x80]
mov r13b, byte [rsp + 0x88]
movzx eax, word [rbp + 6]
mov r15d, 0
mov edi, dword [rbp + 0x54]
mov esi, r15d
lea rcx, [rax + rax*4]
shl rcx, 3
lea r12d, [r15 + 1]
sub rdi, rcx
sub rdi, rbx
add rdi, r14
je 0x14005ea74
mov edx, 0xff
xor ecx, ecx
call fcn.14005e754
movzx ecx, word [rbp + 6]
lea rdx, [rcx + rcx*4]
lea rcx, [rsi + rdx*8]
add rsi, r12
mov byte [rcx + rbx], al
cmp rsi, rdi
jb 0x14005ea51
mov edi, dword [rbp + 0xbc]
movabs rax, 0x2492492492492493
movzx r10d, word [rbp + 6]
mov r9, r15
mul rdi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 4
test r10, r10
je 0x14005eb0d
mov r8d, dword [rbp + 0xb8]
lea rdx, [rbx + 0x14]
mov esi, dword [rdx - 8]
mov r11d, dword [rdx]
cmp r8d, esi
jb 0x14005eac1
mov ecx, dword [rdx - 4]
add ecx, esi
cmp r8d, ecx
jbe 0x14005eacf
add r9, r12
add rdx, 0x28
cmp r9, r10
jae 0x14005eb0d
jmp 0x14005eaac
mov rax, r8
sub rax, rsi
mov rsi, r11
add rax, r14
add rsi, rax
je 0x14005eb0d
movsxd r8, edi
test edi, edi
je 0x14005eb00
lea rdx, [rsi + 0x18]
mov edi, dword [rdx]
xor eax, eax
mov ecx, dword [rdx - 8]
lea rdx, [rdx + 0x1c]
add rdi, r14
rep stosb byte [rdi], al
sub r8, r12
jne 0x14005eaeb
mov ecx, dword [rbp + 0xbc]
mov rdi, rsi
xor eax, eax
rep stosb byte [rdi], al
and qword [rbp + 0xb8], 0
movzx edi, r15w
cmp r15w, word [rbp + 6]
jae 0x14005eb5d
movzx eax, di
lea rdx, [0x1400a2dbc]
mov r8d, 5
lea rcx, [rax + rax*4]
lea rsi, [rbx + rcx*8]
mov rcx, rsi
call fcn.1400096ac
test al, al
jne 0x14005eb50
add di, r12w
cmp di, word [rbp + 6]
jb 0x14005eb20
jmp 0x14005eb5d
mov edi, dword [rsi + 0x14]
mov ecx, dword [rsi + 0x10]
add rdi, r14
xor eax, eax
rep stosb byte [rdi], al
and qword [rbp + 0xa0], 0
test r13b, r13b
jne 0x14005ebba
movzx edi, r15w
cmp r15w, word [rbp + 6]
jae 0x14005ebb2
movzx eax, di
lea rdx, [0x1400a2dca]
mov r8d, 5
lea rcx, [rax + rax*4]
lea rsi, [rbx + rcx*8]
mov rcx, rsi
call fcn.1400096ac
test al, al
jne 0x14005eba5
add di, r12w
cmp di, word [rbp + 6]
jb 0x14005eb75
jmp 0x14005ebb2
mov edi, dword [rsi + 0x14]
mov ecx, dword [rsi + 0x10]
add rdi, r14
xor eax, eax
rep stosb byte [rdi], al
and qword [rbp + 0x98], 0
mov al, r12b
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret