Function at 0x5f6fd0
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 ebp, dword [r8 + 0x38]
mov r13, qword [rcx + 0x10]
mov rdi, qword [r8 + 0x30]
mov dword [rsp + 0xa8], edx
mov rsi, rcx
mov qword [rsp + 0xb0], r8
mov byte [r8], 1
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x3c], 0
test ebp, ebp
jg 0x5f7117
jmp 0x5f7350
mov ebp, dword [rbx]
mov rcx, rsi
mov edx, ebp
call fcn.005996a0
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov r14d, eax
call fcn.005f2400
movzx eax, bpl
mov word [rsp + 0x42], ax
mov edx, dword [rdi + 0x14]
test edx, edx
js 0x5f707e
test r12d, r12d
jne 0x5f7068
mov eax, dword [rsi + 0x44]
lea r12d, [rax - 1]
mov dword [rsi + 0x44], r12d
mov edx, dword [rdi + 0x14]
mov dword [rsp + 0x20], r14d
mov r9d, 1
mov r8d, r12d
mov rcx, rsi
call fcn.005b0c00
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
jne 0x5f71d0
mov eax, dword [rdi + 0x10]
mov r9d, r14d
xor r8d, r8d
mov edx, 0x9a
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.005af360
mov rdx, qword [rdi + 8]
mov r8d, 0xfffffff8
mov rcx, r13
call fcn.0059ec80
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x5f70db
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
movzx ecx, word [rsp + 0x42]
mov word [rax - 0x16], cx
cmp ebp, 1
je 0x5f7280
cmp ebp, dword [rsi + 0x28]
jle 0x5f70f0
mov dword [rsi + 0x28], ebp
mov dword [rsi + 0x2c], r14d
test r12d, r12d
jne 0x5f71c0
mov rcx, qword [rsp + 0xb0]
add dword [rsp + 0x3c], 1
add rdi, 0x18
mov eax, dword [rsp + 0x3c]
cmp dword [rcx + 0x38], eax
jle 0x5f72a0
mov rax, qword [rdi]
xor r12d, r12d
mov rbx, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x5f71a2
mov rax, qword [rax + 0x40]
mov r14, qword [rax + 0x48]
mov rax, qword [rsp + 0xb0]
mov r11d, dword [rax + 0x2c]
test r11d, r11d
je 0x5f7183
mov rax, qword [rdi + 8]
test byte [rax + 4], 0x20
je 0x5f7183
mov r10d, dword [rsp + 0x44]
test r10d, r10d
jne 0x5f7161
mov eax, dword [rsi + 0x38]
add eax, 1
mov dword [rsp + 0x44], eax
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x44]
mov edx, 0x4d
mov rcx, r13
mov r8d, dword [rsp + 0xa8]
call fcn.005af360
mov eax, dword [rsi + 0x44]
mov r9d, 0x10
mov rdx, r14
mov rcx, rsi
lea r12d, [rax - 1]
mov dword [rsi + 0x44], r12d
mov r8d, r12d
call fcn.005ef7f0
test rbx, rbx
jne 0x5f7020
xor r9d, r9d
xor r14d, r14d
xor ebp, ebp
mov word [rsp + 0x42], r9w
jmp 0x5f704e
mov edx, r12d
mov rcx, r13
call fcn.005af190
jmp 0x5f70f9
add rbx, 8
xor r15d, r15d
test ebp, ebp
jle 0x5f7209
nop dword [rax + rax]
mov rdx, qword [rbx]
mov rcx, rsi
add r15d, 1
add rbx, 0x20
call fcn.005c2140
test rax, rax
jne 0x5f7290
cmp ebp, r15d
jg 0x5f71e0
mov r10, rax
test rax, rax
jne 0x5f7210
mov rax, qword [rsi]
mov r10, qword [rax + 0x10]
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x5f723a
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x44], eax
test eax, eax
je 0x5f723a
mov eax, dword [rsi + 0x38]
add eax, 1
mov dword [rsp + 0x44], eax
mov dword [rsi + 0x38], eax
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov rcx, r13
mov edx, 0x51
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x48], r10
call fcn.005af360
mov r10, qword [rsp + 0x48]
mov r9d, 0xfffffffe
mov rcx, r13
mov edx, eax
mov r8, r10
call fcn.0059fe40
jmp 0x5f708c
mov edx, r14d
mov rcx, rsi
call fcn.00599710
jmp 0x5f70f0
mov r10, rax
jmp 0x5f7210
mov edx, dword [rsp + 0x44]
test edx, edx
je 0x5f7350
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov edx, 0x12
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.005af360
mov ebp, eax
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rax + 0x20]
mov eax, dword [rax + 0x2c]
test eax, eax
jle 0x5f730e
mov r12, qword [rsp + 0xb0]
xor edi, edi
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
mov r8d, dword [rbx + 0x14]
mov rcx, rsi
add edi, 1
add rbx, 0x20
call fcn.005f1390
cmp dword [r12 + 0x2c], edi
jg 0x5f72f0
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
test ebp, ebp
je 0x5f733e
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
lea edx, [rax - 1]
cmovs ebp, edx
cmp byte [rcx + 0x61], 0
lea rdx, [0x0085a6a0]
je 0x5f73a0
mov dword [rdx + 8], eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0xa8]
mov eax, dword [rax + 0x2c]
test ebx, ebx
jne 0x5f7388
mov rdi, qword [rsp + 0xb0]
xor ebp, ebp
mov rbx, qword [rdi + 0x20]
test eax, eax
jg 0x5f72de
mov byte [rdi], 0
jmp 0x5f733e
test eax, eax
je 0x5f7366
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x44], eax
jmp 0x5f72ac
mov rdx, qword [r13 + 0x88]
movsxd rbp, ebp
lea rcx, [rbp + rbp*2]
lea rdx, [rdx + rcx*8]
jmp 0x5f733b