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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov r13, rcx
lea rbx, [rcx + 0x240]
mov qword [rsp + 0x28], rbx
mov rcx, rbx
call fcn.004040ec
nop
mov rdx, qword [r13 + 0x190]
mov rax, qword [r13 + 0x188]
cmp rax, rdx
je 0x5c7ea2
xor ecx, ecx
mov byte [rsp + 0x100], cl
mov byte [rsp + 0x108], cl
mov rdi, rdx
sub rdi, rdx
je 0x5c7e92
mov r8, rdi
mov rcx, rax
call fcn.006a4bf0
add rax, rdi
xor ecx, ecx
mov byte [rsp + 0x110], cl
mov qword [r13 + 0x190], rax
lea rdi, [r13 + 0x1a0]
cmp qword [rdi + 0x20], 0
je 0x5c7ece
mov rdx, qword [rdi + 8]
mov rcx, rdi
call fcn.0051e61c
mov qword [rdi + 0x10], rdi
and qword [rdi + 8], 0
mov qword [rdi + 0x18], rdi
and qword [rdi + 0x20], 0
mov r14, qword [r13 + 0x170]
mov r15d, 1
cmp r14, qword [r13 + 0x178]
je 0x5c80fa
movabs r8, 0xfffffffffffffff
mov rdx, qword [r14]
mov ecx, dword [rdx + 0x10c]
mov eax, dword [rdx + 0x108]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ecx
mov qword [rsp + 0x40], rdx
mov rbp, qword [r13 + 0x190]
cmp rbp, qword [r13 + 0x198]
je 0x5c7f48
xor eax, eax
mov byte [rsp + 0x118], al
mov byte [rsp + 0x22], al
test rbp, rbp
je 0x5c7f3b
movdqu xmm0, xmmword [rsp + 0x38]
movdqu xmmword [rbp], xmm0
add qword [r13 + 0x190], 0x10
jmp 0x5c809f
xor eax, eax
mov byte [rsp + 0x20], al
mov qword [rsp + 0x50], r15
mov rcx, rbp
sub rcx, qword [r13 + 0x188]
sar rcx, 4
mov qword [rsp + 0x48], rcx
mov rax, r8
sub rax, rcx
cmp rax, r15
jb 0x5c80ed
lea rax, [rsp + 0x48]
lea rdx, [rsp + 0x50]
cmp rcx, r15
cmovbe rax, rdx
mov rax, qword [rax]
lea rdi, [rcx + rax]
cmp rdi, r8
ja 0x5c7f97
cmp rdi, rcx
jae 0x5c7f9a
mov rdi, r8
xor eax, eax
mov byte [rsp + 0x21], al
cmp rdi, r8
ja 0x5c80b2
test rdi, rdi
je 0x5c7fe5
shl rdi, 4
mov qword [rsp + 0x30], rdi
cmp rdi, 0x100
jbe 0x5c7fcd
mov rcx, rdi
call fcn.006a494c
mov r12, rax
jmp 0x5c7fda
lea rcx, [rsp + 0x30]
call fcn.006a36c0
mov r12, rax
mov rdi, qword [rsp + 0x30]
shr rdi, 4
jmp 0x5c7fe8
xor r12d, r12d
sub rbp, qword [r13 + 0x188]
je 0x5c8008
mov r8, rbp
mov rdx, qword [r13 + 0x188]
mov rcx, r12
call fcn.006a4bf0
add rax, rbp
jmp 0x5c800b
mov rax, r12
movdqu xmm0, xmmword [rsp + 0x38]
movdqu xmmword [rax], xmm0
lea rbp, [rax + 0x10]
mov rcx, qword [r13 + 0x188]
mov qword [rsp + 0x80], rcx
mov rax, qword [r13 + 0x190]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], rax
xor edx, edx
mov byte [rsp + 0x23], dl
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rax
mov rdx, qword [r13 + 0x198]
sub rdx, rcx
test rcx, rcx
je 0x5c8079
and rdx, 0xfffffffffffffff0
cmp rdx, 0x100
jbe 0x5c8074
call fcn.006a4944
jmp 0x5c8079
call fcn.006a3610
shl rdi, 4
add rdi, r12
mov qword [r13 + 0x188], r12
mov qword [r13 + 0x190], rbp
mov qword [r13 + 0x198], rdi
movabs r8, 0xfffffffffffffff
add r14, 8
cmp r14, qword [r13 + 0x178]
jne 0x5c7ef2
jmp 0x5c80fa
mov r8d, r15d
lea rdx, str.bad_allocation
lea rcx, [rsp + 0x90]
call fcn.006a4a74
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x90], r11
lea rdx, [0x00850ba0]
lea rcx, [rsp + 0x90]
call fcn.006ab82c
int3
lea rcx, str.vector
call fcn.006a4230
int3
xor edx, edx
lea rcx, [r13 + 0x188]
call fcn.005cc414
nop
mov eax, r15d
xchg dword [rbx + 0x14], eax
cmp eax, r15d
jne 0x5c8129
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11d, r15d
xchg dword [rbx + 0x14], r11d
cmp r11d, r15d
je 0x5c8114
mov rax, qword [rsp + 0x28]
add dword [rax + 4], 0xffffffff
mov eax, dword [rax + 4]
jne 0x5c8160
mov rax, qword [rsp + 0x28]
and dword [rax + 0x10], 0
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax + 8]
add edx, ecx
test edx, edx
jle 0x5c8160
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_SetEvent]
lock add dword [rbx + 0x14], 0xffffffff
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret