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

Disassembly:
mov r11, rsp
mov dword [r11 + 0x20], r9d
mov dword [r11 + 0x18], r8d
push rbx
push r12
sub rsp, 0x128
mov rax, qword [0x1801e3228]
xor r12d, r12d
movaps xmmword [r11 - 0x98], xmm11
mov ebx, r8d
movaps xmm11, xmm1
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rax
cmp dword [rax + 0x40a0], r12d
jle 0x1800bdb3f
mov qword [r11 + 0x10], rbp
lea rbp, [0x180180dd0]
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r13
xor r13d, r13d
movaps xmmword [r11 - 0x58], xmm7
xorps xmm7, xmm7
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movaps xmmword [r11 - 0x88], xmm10
movaps xmmword [r11 - 0xa8], xmm12
movaps xmmword [r11 - 0xb8], xmm13
movaps xmmword [rsp + 0x70], xmm14
movaps xmmword [rsp + 0x60], xmm15
mov rax, qword [rax + 0x40a8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + r13]
call fcn.1800becf0
xorps xmm1, xmm1
mov rdi, rax
movups xmmword [rsp + 0x48], xmm1
mov rcx, qword [rax + 0x38]
mov rdx, qword [rcx + 8]
mov rsi, qword [rdx + 0x40]
cmp ebx, 8
ja 0x1800bdaad
test byte [rsi], 2
jne 0x1800bdaad
movss xmm1, dword [rsi + 0x38]
movsxd rcx, dword [rsi + 0x484]
movaps xmm0, xmm1
movss xmm10, dword [rsp + 0x28]
movss xmm14, dword [rsp + 0x2c]
shl rcx, 5
add rcx, qword [rsi + 0x60]
movsxd rax, ebx
lea rdx, [rax + rax*2]
movzx eax, word [rcx + 4]
movss xmm8, dword [rbp + rdx*8 + 8]
movss xmm9, dword [rbp + rdx*8 + 0xc]
subss xmm10, dword [rbp + rdx*8 + 0x10]
subss xmm14, dword [rbp + rdx*8 + 0x14]
movd xmm2, eax
movzx eax, word [rcx + 6]
mov rcx, rdi
cvtdq2ps xmm2, xmm2
movd xmm15, eax
addss xmm2, dword [rbp + rdx*8]
cvtdq2ps xmm15, xmm15
movaps xmm4, xmm2
addss xmm15, dword [rbp + rdx*8 + 4]
mulss xmm4, xmm1
movss dword [rsp + 0x20], xmm4
movaps xmm3, xmm15
mulss xmm3, dword [rsi + 0x3c]
addss xmm15, xmm9
movaps xmm4, xmm8
addss xmm4, xmm2
addss xmm2, dword [0x180181750]
mulss xmm15, dword [rsi + 0x3c]
mov rsi, qword [rsi + 8]
mov rdx, rsi
movss dword [rsp + 0x160], xmm3
mulss xmm4, xmm1
mulss xmm0, xmm2
movss dword [rsp + 0x24], xmm4
movss dword [rsp + 0x4c], xmm3
movss dword [rsp + 0x168], xmm0
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm8
addss xmm0, xmm2
movss dword [rsp + 0x54], xmm15
mulss xmm0, xmm1
movss dword [rsp + 0x158], xmm0
movss dword [rsp + 0x50], xmm0
call fcn.1800eb240
mov rbp, qword [rdi + 0x98]
movaps xmm6, xmm8
movaps xmm12, xmm9
movaps xmm13, xmm11
addss xmm12, xmm7
xorps xmm0, xmm0
mulss xmm13, xmm0
movaps xmm7, xmm10
addss xmm7, xmm11
addss xmm6, dword [0x1801816a4]
mulss xmm12, xmm11
addss xmm13, xmm14
mulss xmm6, xmm11
addss xmm12, xmm14
addss xmm6, xmm10
cmp rsi, rbp
je 0x1800bd2ec
mov rdx, rsi
mov rcx, rdi
call fcn.1800eb240
mov eax, dword [rdi + 0x34]
add eax, 4
cmp eax, 0x10000
jb 0x1800bd32f
test byte [rdi + 0x30], 8
je 0x1800bd32f
movsxd rax, dword [rdi]
mov ecx, dword [rdi + 0x20]
imul rdx, rax, 0x38
mov rax, qword [rdi + 8]
mov dword [rdi + 0xa0], ecx
mov dword [rdi + 0x34], 0
cmp dword [rdx + rax - 0x18], 0
je 0x1800bd32b
mov rcx, rdi
call fcn.1800eada0
jmp 0x1800bd32f
mov dword [rdx + rax - 0x20], ecx
movsxd rax, dword [rdi]
imul rcx, rax, 0x38
mov rax, qword [rdi + 8]
add dword [rcx + rax - 0x18], 6
lea rcx, [rdi + 0x20]
movsxd rbx, dword [rdi + 0x20]
lea edx, [rbx + 4]
call fcn.1800f4410
mov rax, qword [rdi + 0x28]
lea rcx, [rbx + rbx*4]
movsxd rbx, dword [rdi + 0x10]
lea rcx, [rax + rcx*4]
mov qword [rdi + 0x48], rcx
lea edx, [rbx + 6]
lea rcx, [rdi + 0x10]
call fcn.1800d4b60
movzx r8d, word [rdi + 0x34]
mov rax, qword [rdi + 0x18]
movss xmm1, dword [rsp + 0x160]
movss xmm2, dword [rsp + 0x168]
lea ecx, [r8 + 1]
movaps xmm0, xmm2
lea rdx, [rax + rbx*2]
unpcklps xmm0, xmm1
mov qword [rdi + 0x50], rdx
mov word [rdx], r8w
mov rax, qword [rdi + 0x50]
movsd qword [rsp + 0x48], xmm0
mov word [rax + 2], cx
lea ecx, [r8 + 2]
mov rax, qword [rdi + 0x50]
mov word [rax + 4], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 6], r8w
add r8w, 3
mov rax, qword [rdi + 0x50]
mov word [rax + 8], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 0xa], r8w
mov rax, qword [rdi + 0x48]
movss dword [rax], xmm7
movss dword [rax + 4], xmm13
mov rax, qword [rdi + 0x48]
movsd qword [rax + 8], xmm0
mov rax, qword [rdi + 0x48]
movss xmm0, dword [rsp + 0x158]
mov dword [rax + 0x10], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x14], xmm6
movss dword [rax + 0x18], xmm13
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x1c], xmm0
movss dword [rax + 0x20], xmm1
mov rax, qword [rdi + 0x48]
movdqa xmm1, xmmword [0x180181810]
unpcklps xmm0, xmm15
movsd qword [rsp + 0x50], xmm0
mov dword [rax + 0x24], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x28], xmm6
movss dword [rax + 0x2c], xmm12
mov rax, qword [rdi + 0x48]
movsd qword [rax + 0x30], xmm0
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x3c], xmm7
movss dword [rax + 0x40], xmm12
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x44], xmm2
movss dword [rax + 0x48], xmm15
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x4c], 0x30000000
movdqu xmm0, xmmword [rdi + 0x48]
add dword [rdi + 0x34], 4
paddq xmm1, xmm0
movdqu xmmword [rdi + 0x48], xmm1
cmp rsi, rbp
je 0x1800bd4a9
mov rcx, rdi
call fcn.1800eb380
mov rbp, qword [rdi + 0x98]
movaps xmm6, xmm8
movaps xmm7, xmm11
addss xmm7, xmm11
addss xmm6, dword [0x1801816e0]
addss xmm7, xmm10
mulss xmm6, xmm11
addss xmm6, xmm10
cmp rsi, rbp
je 0x1800bd4e4
mov rdx, rsi
mov rcx, rdi
call fcn.1800eb240
mov eax, dword [rdi + 0x34]
add eax, 4
cmp eax, 0x10000
jb 0x1800bd527
test byte [rdi + 0x30], 8
je 0x1800bd527
movsxd rax, dword [rdi]
mov ecx, dword [rdi + 0x20]
imul rdx, rax, 0x38
mov rax, qword [rdi + 8]
mov dword [rdi + 0xa0], ecx
mov dword [rdi + 0x34], 0
cmp dword [rdx + rax - 0x18], 0
je 0x1800bd523
mov rcx, rdi
call fcn.1800eada0
jmp 0x1800bd527
mov dword [rdx + rax - 0x20], ecx
movsxd rax, dword [rdi]
imul rcx, rax, 0x38
mov rax, qword [rdi + 8]
add dword [rcx + rax - 0x18], 6
lea rcx, [rdi + 0x20]
movsxd rbx, dword [rdi + 0x20]
lea edx, [rbx + 4]
call fcn.1800f4410
mov rax, qword [rdi + 0x28]
lea rcx, [rbx + rbx*4]
movsxd rbx, dword [rdi + 0x10]
lea rcx, [rax + rcx*4]
mov qword [rdi + 0x48], rcx
lea edx, [rbx + 6]
lea rcx, [rdi + 0x10]
call fcn.1800d4b60
movzx r8d, word [rdi + 0x34]
mov rax, qword [rdi + 0x18]
movsd xmm0, qword [rsp + 0x48]
lea ecx, [r8 + 1]
lea rdx, [rax + rbx*2]
mov qword [rdi + 0x50], rdx
mov word [rdx], r8w
mov rax, qword [rdi + 0x50]
mov word [rax + 2], cx
lea ecx, [r8 + 2]
mov rax, qword [rdi + 0x50]
mov word [rax + 4], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 6], r8w
add r8w, 3
mov rax, qword [rdi + 0x50]
mov word [rax + 8], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 0xa], r8w
mov rax, qword [rdi + 0x48]
movss dword [rax], xmm7
movss dword [rax + 4], xmm13
mov rax, qword [rdi + 0x48]
movsd qword [rax + 8], xmm0
mov rax, qword [rdi + 0x48]
movss xmm0, dword [rsp + 0x158]
mov dword [rax + 0x10], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x14], xmm6
movss dword [rax + 0x18], xmm13
mov rax, qword [rdi + 0x48]
movss xmm13, dword [rsp + 0x160]
movss dword [rax + 0x1c], xmm0
movss dword [rax + 0x20], xmm13
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x24], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x28], xmm6
movsd xmm6, qword [rsp + 0x50]
movss dword [rax + 0x2c], xmm12
mov rax, qword [rdi + 0x48]
movsd qword [rax + 0x30], xmm6
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], 0x30000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x3c], xmm7
movdqa xmm7, xmmword [0x180181810]
movss dword [rax + 0x40], xmm12
mov rax, qword [rdi + 0x48]
movss xmm12, dword [rsp + 0x168]
movss dword [rax + 0x44], xmm12
movss dword [rax + 0x48], xmm15
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x4c], 0x30000000
movdqu xmm0, xmmword [rdi + 0x48]
add dword [rdi + 0x34], 4
paddq xmm0, xmm7
movdqu xmmword [rdi + 0x48], xmm0
cmp rsi, rbp
je 0x1800bd69b
mov rcx, rdi
call fcn.1800eb380
mov rbp, qword [rdi + 0x98]
mulss xmm8, xmm11
mulss xmm9, xmm11
addss xmm8, xmm10
addss xmm9, xmm14
cmp rsi, rbp
je 0x1800bd6c6
mov rdx, rsi
mov rcx, rdi
call fcn.1800eb240
mov eax, dword [rdi + 0x34]
add eax, 4
cmp eax, 0x10000
jb 0x1800bd709
test byte [rdi + 0x30], 8
je 0x1800bd709
movsxd rax, dword [rdi]
mov ecx, dword [rdi + 0x20]
imul rdx, rax, 0x38
mov rax, qword [rdi + 8]
mov dword [rdi + 0xa0], ecx
mov dword [rdi + 0x34], 0
cmp dword [rdx + rax - 0x18], 0
je 0x1800bd705
mov rcx, rdi
call fcn.1800eada0
jmp 0x1800bd709
mov dword [rdx + rax - 0x20], ecx
movsxd rax, dword [rdi]
imul rcx, rax, 0x38
mov rax, qword [rdi + 8]
add dword [rcx + rax - 0x18], 6
lea rcx, [rdi + 0x20]
movsxd rbx, dword [rdi + 0x20]
lea edx, [rbx + 4]
call fcn.1800f4410
mov rax, qword [rdi + 0x28]
lea rcx, [rbx + rbx*4]
movsxd rbx, dword [rdi + 0x10]
lea rcx, [rax + rcx*4]
mov qword [rdi + 0x48], rcx
lea edx, [rbx + 6]
lea rcx, [rdi + 0x10]
call fcn.1800d4b60
movzx r8d, word [rdi + 0x34]
mov rax, qword [rdi + 0x18]
movsd xmm0, qword [rsp + 0x48]
lea ecx, [r8 + 1]
lea rdx, [rax + rbx*2]
mov qword [rdi + 0x50], rdx
mov word [rdx], r8w
mov rax, qword [rdi + 0x50]
mov word [rax + 2], cx
lea ecx, [r8 + 2]
mov rax, qword [rdi + 0x50]
mov word [rax + 4], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 6], r8w
add r8w, 3
mov rax, qword [rdi + 0x50]
mov word [rax + 8], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 0xa], r8w
mov rax, qword [rdi + 0x48]
movss dword [rax], xmm10
movss dword [rax + 4], xmm14
mov rax, qword [rdi + 0x48]
movsd qword [rax + 8], xmm0
mov rax, qword [rdi + 0x48]
movss xmm0, dword [rsp + 0x158]
mov dword [rax + 0x10], 0xff000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x14], xmm8
movss dword [rax + 0x18], xmm14
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x1c], xmm0
movss dword [rax + 0x20], xmm13
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x24], 0xff000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x28], xmm8
movss dword [rax + 0x2c], xmm9
mov rax, qword [rdi + 0x48]
movsd qword [rax + 0x30], xmm6
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], 0xff000000
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x3c], xmm10
movss dword [rax + 0x40], xmm9
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x44], xmm12
movss dword [rax + 0x48], xmm15
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x4c], 0xff000000
movdqu xmm0, xmmword [rdi + 0x48]
add dword [rdi + 0x34], 4
paddq xmm0, xmm7
movdqu xmmword [rdi + 0x48], xmm0
cmp rsi, rbp
je 0x1800bd85f
mov rcx, rdi
call fcn.1800eb380
mov rbp, qword [rdi + 0x98]
cmp rsi, rbp
je 0x1800bd876
mov rdx, rsi
mov rcx, rdi
call fcn.1800eb240
mov eax, dword [rdi + 0x34]
add eax, 4
cmp eax, 0x10000
jb 0x1800bd8b9
test byte [rdi + 0x30], 8
je 0x1800bd8b9
movsxd rax, dword [rdi]
mov ecx, dword [rdi + 0x20]
imul rdx, rax, 0x38
mov rax, qword [rdi + 8]
mov dword [rdi + 0xa0], ecx
mov dword [rdi + 0x34], 0
cmp dword [rdx + rax - 0x18], 0
je 0x1800bd8b5
mov rcx, rdi
call fcn.1800eada0
jmp 0x1800bd8b9
mov dword [rdx + rax - 0x20], ecx
movsxd rax, dword [rdi]
lea rcx, [rdi + 0x20]
imul rdx, rax, 0x38
mov rax, qword [rdi + 8]
add dword [rdx + rax - 0x18], 6
movsxd rbx, dword [rdi + 0x20]
lea edx, [rbx + 4]
call fcn.1800f4410
mov rax, qword [rdi + 0x28]
lea rdx, [rbx + rbx*4]
movsxd rbx, dword [rdi + 0x10]
lea rcx, [rdi + 0x10]
lea rdx, [rax + rdx*4]
mov qword [rdi + 0x48], rdx
lea edx, [rbx + 6]
call fcn.1800d4b60
movzx r8d, word [rdi + 0x34]
mov rax, qword [rdi + 0x18]
movss xmm2, dword [rsp + 0x20]
movaps xmm0, xmm2
unpcklps xmm0, xmm13
lea ecx, [r8 + 1]
lea rdx, [rax + rbx*2]
mov qword [rdi + 0x50], rdx
mov word [rdx], r8w
mov rax, qword [rdi + 0x50]
mov word [rax + 2], cx
lea ecx, [r8 + 2]
mov rax, qword [rdi + 0x50]
mov word [rax + 4], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 6], r8w
add r8w, 3
mov rax, qword [rdi + 0x50]
mov word [rax + 8], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 0xa], r8w
mov rax, qword [rdi + 0x48]
movss dword [rax], xmm10
movss dword [rax + 4], xmm14
mov rax, qword [rdi + 0x48]
movsd qword [rax + 8], xmm0
mov rax, qword [rdi + 0x48]
movss xmm0, dword [rsp + 0x24]
mov dword [rax + 0x10], 0xffffffff
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x14], xmm8
movss dword [rax + 0x18], xmm14
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x1c], xmm0
movss dword [rax + 0x20], xmm13
mov rax, qword [rdi + 0x48]
unpcklps xmm0, xmm15
mov dword [rax + 0x24], 0xffffffff
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x28], xmm8
movss dword [rax + 0x2c], xmm9
mov rax, qword [rdi + 0x48]
movsd qword [rax + 0x30], xmm0
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], 0xffffffff
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x3c], xmm10
movss dword [rax + 0x40], xmm9
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x44], xmm2
movss dword [rax + 0x48], xmm15
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x4c], 0xffffffff
movdqu xmm0, xmmword [rdi + 0x48]
add dword [rdi + 0x34], 4
paddq xmm0, xmm7
movdqu xmmword [rdi + 0x48], xmm0
cmp rsi, rbp
je 0x1800bda16
mov rcx, rdi
call fcn.1800eb380
movsxd rcx, dword [rdi + 0x68]
lea eax, [rcx - 1]
mov dword [rdi + 0x68], eax
test eax, eax
jne 0x1800bda28
xor ebp, ebp
jmp 0x1800bda31
mov rax, qword [rdi + 0x70]
mov rbp, qword [rax + rcx*8 - 0x10]
movsxd rcx, dword [rdi]
imul rbx, rcx, 0x38
mov qword [rdi + 0x98], rbp
lea r15d, [rcx - 1]
add rbx, qword [rdi + 8]
mov eax, dword [rbx - 0x18]
test eax, eax
je 0x1800bda62
cmp qword [rbx - 0x28], rbp
je 0x1800bda5e
mov rcx, rdi
call fcn.1800eada0
jmp 0x1800bda9c
test eax, eax
jne 0x1800bda98
cmp ecx, 1
jle 0x1800bda98
lea rcx, [rdi + 0x88]
mov r8d, 0x1c
lea rdx, [rbx - 0x70]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800bda98
mov eax, dword [rbx - 0x50]
add eax, dword [rbx - 0x54]
cmp eax, dword [rbx - 0x1c]
jne 0x1800bda98
cmp qword [rbx - 0x48], 0
jne 0x1800bda98
mov dword [rdi], r15d
jmp 0x1800bda9c
mov qword [rbx - 0x28], rbp
mov ebx, dword [rsp + 0x150]
lea rbp, [0x180180dd0]
xorps xmm7, xmm7
mov rax, qword [rsp + 0x30]
inc r12d
add r13, 8
cmp r12d, dword [rax + 0x40a0]
jl 0x1800bd152
movaps xmm15, xmmword [rsp + 0x60]
movaps xmm14, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x148]
movaps xmm11, xmmword [rsp + 0xa0]
add rsp, 0x128
pop r12
pop rbx
ret