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

Disassembly:
mov byte [rsp + 0x20], r9b
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x60
cmp dword [0x18028e0b4], 0
mov rsi, r8
mov rdi, rdx
jne 0x1801565d0
cmp dword [0x18028e1b4], 0
je 0x1801568f6
test rdi, rdi
je 0x1801568f6
mov rcx, rdi
call fcn.1800b6850
cmp byte [rax], 0
jne 0x1801568f6
mov rcx, rdi
call fcn.1800cb8d0
cmp dword [rax], 9
jne 0x1801568f6
test rsi, rsi
je 0x1801568f6
mov rcx, rsi
mov qword [rsp + 0x88], rbx
call fcn.1800d0570
lea rcx, [rbp + 0x20]
mov ebx, dword [rax]
cmp ebx, 0x8e
sete byte [rbp + 0x38]
call fcn.1800b6ac0
mov rcx, qword [rbp + 0x20]
movabs rax, 0x431bde82d7b634db
sub rcx, qword [0x18028c3d8]
imul rcx
mov ecx, 0x3e8
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x1388
cmp ebx, 0x8e
cmove eax, ecx
cmp rdx, rax
jl 0x1801568ee
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x50], r15
call fcn.1800b6ac0
mov rcx, qword [rax]
mov rax, qword [0x1802876a0]
cmp rax, qword [0x1802876a8]
mov qword [0x18028c3d8], rcx
je 0x18015669a
mov qword [0x1802876a8], rax
mov rcx, rdi
mov byte [rbp - 0x34], 0
call fcn.1800ca2d0
lea rdx, [rbp - 0x30]
mov r8d, dword [rax]
call fcn.180161e40
cmp byte [rbp - 0x1c], 0
je 0x1801566d8
movss xmm0, dword [rbp - 0x28]
movss xmm1, dword [rbp - 0x24]
movss dword [rbp - 0x40], xmm0
movss xmm0, dword [rbp - 0x20]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x3c], xmm1
jmp 0x180156752
mov r9, rsi
lea rdx, [rbp + 0x20]
mov r8, rdi
call fcn.180156410
mov r8, qword [rbp + 0x20]
test r8d, r8d
je 0x180156724
lea rdx, [rbp - 0x30]
call fcn.180165620
cmp byte [rax + 0xc], 0
je 0x18015672c
movss xmm0, dword [rax]
movzx ecx, byte [rbp - 0x34]
movss dword [rbp - 0x40], xmm0
test cl, cl
movss xmm0, dword [rax + 4]
movss dword [rbp - 0x3c], xmm0
movss xmm1, dword [rax + 8]
movss dword [rbp - 0x38], xmm1
jmp 0x180156756
movzx ecx, byte [rbp - 0x34]
test cl, cl
jne 0x18015675c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
movss xmm0, dword [rax]
movss dword [rbp - 0x40], xmm0
movss xmm0, dword [rax + 4]
movss dword [rbp - 0x3c], xmm0
movss xmm1, dword [rax + 8]
movss dword [rbp - 0x38], xmm1
cmp byte [rbp - 0x34], 0
jne 0x18015675c
mov byte [rbp - 0x34], 1
mov rax, qword [0x1802876f0]
mov r15, qword [rax + 0x58]
mov rsi, qword [rax + 0x50]
cmp rsi, r15
je 0x180156895
mov qword [rsp + 0x90], r12
xor r12d, r12d
mov qword [rsp + 0x58], r14
lea r14, [rsi + 0x2c]
nop dword [rax + rax]
mov rcx, qword [0x1802876f0]
mov rcx, qword [rcx + 0x218]
mov rax, qword [rcx]
cmp rax, rcx
je 0x1801567be
cmp qword [rax + 0x10], rsi
jne 0x1801567b6
cmp dword [rax + 0x18], 5
je 0x180156871
mov rax, qword [rax]
cmp rax, rcx
jne 0x1801567a6
mov eax, dword [r14 - 0x24]
test al, 0xe
jne 0x180156871
bt eax, 0x16
jae 0x180156815
mov rdx, qword [0x1802876a8]
lea r8, [r14 - 8]
cmp rdx, qword [0x1802876b0]
je 0x180156807
mov qword [rdx], r12
mov dword [rdx + 8], r12d
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [r14 - 4]
mov dword [rdx + 4], eax
mov eax, dword [r14]
mov dword [rdx + 8], eax
add qword [0x1802876a8], 0xc
jmp 0x180156871
lea rcx, [0x1802876a0]
call fcn.1800eaa80
jmp 0x180156871
mov rdi, qword [r14 + 0x3c]
mov rbx, qword [r14 + 0x34]
cmp rbx, rdi
je 0x180156871
test byte [rbx + 0x10], 1
je 0x180156868
mov rdx, qword [0x1802876a8]
cmp rdx, qword [0x1802876b0]
je 0x180156859
mov qword [rdx], r12
mov dword [rdx + 8], r12d
mov eax, dword [rbx]
mov dword [rdx], eax
mov eax, dword [rbx + 4]
mov dword [rdx + 4], eax
mov eax, dword [rbx + 8]
mov dword [rdx + 8], eax
add qword [0x1802876a8], 0xc
jmp 0x180156868
mov r8, rbx
lea rcx, [0x1802876a0]
call fcn.1800eaa80
add rbx, 0x14
cmp rbx, rdi
jne 0x180156822
add rsi, 0xd0
add r14, 0xd0
cmp rsi, r15
jne 0x180156790
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x90]
mov rcx, qword [0x1802876a0]
lea rax, [rbp + 0x38]
mov r8, qword [0x1802876a8]
lea r9, [rbp - 0x30]
mov qword [rbp - 0x30], rax
sub r8, rcx
lea rax, [rbp - 0x40]
mov qword [rbp - 0x28], rax
movabs rax, 0x2aaaaaaaaaaaaaab
movaps xmm0, xmmword [rbp - 0x30]
imul r8
movdqa xmmword [rbp - 0x30], xmm0
sar rdx, 1
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [0x1802876a8]
call fcn.18015c490
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret