Function at 0x574820
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, 0x38
mov r14d, dword [rcx + 0x10]
mov ebx, dword [rsp + 0xa0]
mov r12, rcx
mov r13, rdx
mov rdi, r8
mov rsi, r9
test r14d, r14d
jne 0x57490f
mov rax, qword [rcx]
mov edx, 0x2000
mov ebp, dword [rax + 4]
call fcn.00578750
mov r8d, eax
mov eax, ebx
test r8d, r8d
je 0x574878
mov edx, ebx
lea eax, [rbx + 0xe]
add edx, 7
cmovns eax, edx
sar eax, 3
mov r10, qword [r12]
test byte [r10 + 0x12], 0x10
jne 0x574930
test ebx, ebx
jle 0x574a68
test byte [r12 + 0x6d], 1
jne 0x574908
cmp ebp, 0x20
ja 0x574bc8
mov r15d, dword [r12 + 0x78]
test r15d, r15d
je 0x5749c2
cmp r13, rsi
je 0x5748de
movsxd rax, ebp
mov rdx, r13
mov rcx, rax
sub rdx, rsi
neg rcx
cmp rdx, rcx
seta cl
cmp rdx, rax
setb al
or cl, al
je 0x574980
test ebp, ebp
jle 0x574980
mov dword [rsp + 0x20], 0x1e9
mov r8d, 0xa2
mov edx, 0xa6
mov ecx, 6
lea r9, [0x0093fc20]
call fcn.00565560
jmp 0x574955
mov dword [rsp + 0xa0], ebx
mov r9, rsi
mov r8, rdi
mov rdx, r13
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00573a70
cmp ebp, 1
je 0x574a20
movsxd r9, ebx
mov r8, rsi
mov rdx, r13
mov rcx, r12
call qword [r10 + 0x20]
test eax, eax
js 0x574970
mov dword [rdi], eax
mov r14d, 1
mov eax, r14d
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rdi], 0
jmp 0x574955
mov r10d, ebp
lea rdx, [r12 + 0x80]
cmp ebp, 8
jae 0x574a80
test bpl, 4
jne 0x574b80
test ebp, ebp
je 0x5749b9
movzx eax, byte [r12 + 0x80]
mov byte [r13], al
test bpl, 2
jne 0x574b9b
add r13, r10
mov r15d, 1
mov dword [rsp + 0x20], ebx
mov r9, rsi
mov r8, rdi
mov rdx, r13
mov rcx, r12
call fcn.00573a70
mov r14d, eax
test eax, eax
je 0x574955
cmp ebp, 1
jbe 0x5749f4
mov eax, dword [r12 + 0x14]
test eax, eax
je 0x574ad4
mov dword [r12 + 0x78], 0
mov r14d, 1
test r15d, r15d
je 0x574955
add dword [rdi], ebp
mov r14d, r15d
jmp 0x574955
movsxd rcx, eax
mov rdx, r13
mov r8, rcx
sub rdx, rsi
neg r8
cmp rdx, r8
seta r8b
cmp rdx, rcx
setb cl
or r8b, cl
je 0x574939
test eax, eax
setg cl
test rdx, rdx
setne al
test cl, al
je 0x574939
mov dword [rsp + 0x20], 0x1ce
jmp 0x5748e6
sete r14b
mov dword [rdi], 0
movzx r14d, r14b
jmp 0x574955
mov rax, qword [r12 + 0x80]
lea r9, [r13 + 8]
mov rcx, rdx
and r9, 0xfffffffffffffff8
mov qword [r13], rax
mov rax, qword [rdx + r10 - 8]
mov qword [r13 + r10 - 8], rax
mov rax, r13
sub rax, r9
sub rcx, rax
add eax, ebp
and eax, 0xfffffff8
cmp eax, 8
jb 0x5749b9
and eax, 0xfffffff8
xor edx, edx
mov r8d, edx
add edx, 8
mov r11, qword [rcx + r8]
mov qword [r9 + r8], r11
cmp edx, eax
jb 0x574abd
jmp 0x5749b9
sub dword [rdi], ebp
lea rax, [r12 + 0x80]
mov dword [r12 + 0x78], 1
movsxd rdx, dword [rdi]
add r13, rdx
cmp ebp, 8
jae 0x574b30
test bpl, 4
jne 0x574bac
test ebp, ebp
je 0x5749fd
movzx edx, byte [r13]
mov byte [r12 + 0x80], dl
test bpl, 2
je 0x5749fd
mov edx, ebp
movzx ecx, word [r13 + rdx - 2]
mov word [rax + rdx - 2], cx
jmp 0x5749fd
mov rdx, qword [r13]
add r12, 0x88
mov qword [r12 - 8], rdx
mov edx, ebp
and r12, 0xfffffffffffffff8
mov rcx, qword [r13 + rdx - 8]
mov qword [rax + rdx - 8], rcx
sub rax, r12
sub r13, rax
add eax, ebp
and eax, 0xfffffff8
cmp eax, 8
jb 0x5749fd
and eax, 0xfffffff8
xor edx, edx
mov ecx, edx
add edx, 8
mov r8, qword [r13 + rcx]
mov qword [r12 + rcx], r8
cmp edx, eax
jb 0x574b69
jmp 0x5749fd
mov eax, dword [r12 + 0x80]
mov dword [r13], eax
mov eax, dword [rdx + r10 - 4]
mov dword [r13 + r10 - 4], eax
jmp 0x5749b9
movzx eax, word [rdx + r10 - 2]
mov word [r13 + r10 - 2], ax
jmp 0x5749b9
mov edx, dword [r13]
mov dword [r12 + 0x80], edx
mov edx, ebp
mov ecx, dword [r13 + rdx - 4]
mov dword [rax + rdx - 4], ecx
jmp 0x5749fd
mov r8d, 0x1e3
lea rdx, [0x0093fc20]
lea rcx, [0x0093fd20]
call fcn.00620720
nop
nop word cs:[rax + rax]
nop dword [rax]