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

Disassembly:
mov rax, rsp
push rbp
push rbx
lea rbp, [rax - 0x5f]
sub rsp, 0xd8
mov qword [rax - 0x28], r12
mov rbx, rcx
mov qword [rax - 0x30], r13
mov r13, qword [0x1800afdc8]
movaps xmmword [rsp + 0x60], xmm9
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x40], xmm11
mov rax, qword [r13 + 0x1c08]
mov qword [rbp + 0x77], rax
movsxd rax, dword [rcx + 0x7c]
cmp eax, 0xffffffff
je 0x180040088
mov rdx, qword [rbx + 0x190]
imul rcx, rax, 0x68
add rcx, qword [rbx + 0x18]
test byte [rbx + 0x98], 1
je 0x18004001b
mov eax, 0x48
jmp 0x180040031
cmp byte [rbx + 0x204], 0
mov eax, 0x40
mov r8d, 0x44
cmovne eax, r8d
movss xmm0, dword [rax + rcx]
maxss xmm0, dword [rdx + 0xf0]
movss dword [rax + rcx], xmm0
movss xmm1, dword [rdx + 0xf4]
movss xmm0, dword [rbx + 0x88]
addss xmm1, dword [rbx + 0xc8]
maxss xmm0, xmm1
movss dword [rbx + 0x88], xmm0
mov eax, dword [rdx + 0x194]
mov dword [rcx + 0x3c], eax
movss xmm0, dword [rbx + 0x90]
maxss xmm0, dword [rdx + 0x114]
movss dword [rbx + 0x90], xmm0
mov qword [rsp + 0xd0], rsi
xor r12d, r12d
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xa8], r15
cmp byte [r13 + 0x30ec], r12b
je 0x180040219
mov rax, qword [r13 + 0x3118]
lea r14, [0x18009c26c]
mov rdx, qword [r13 + 0x3110]
mov rdi, r14
mov rsi, qword [r13 + 0x1c08]
mov qword [rbp + 0x6f], rax
mov qword [r13 + 0x3118], r12
mov qword [r13 + 0x3110], r12
cmp r14, 0xffffffffffffffff
jae 0x18004010d
nop
movzx ecx, byte [rdi]
test cl, cl
je 0x18004010d
lea rax, [rdi + 1]
cmp cl, 0x23
jne 0x180040104
cmp byte [rax], cl
je 0x18004010d
mov rdi, rax
cmp rax, 0xffffffffffffffff
jb 0x1800400f0
mov r15, 0xffffffffffffffff
test rdx, rdx
je 0x180040133
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], r12b
jne 0x180040120
add r8, rdx
xor ecx, ecx
call fcn.18002b630
mov ecx, dword [r13 + 0x3128]
mov eax, dword [rsi + 0x158]
cmp ecx, eax
jle 0x18004014d
mov dword [r13 + 0x3128], eax
mov ecx, eax
mov r12d, dword [rsi + 0x158]
sub r12d, ecx
nop word [rax + rax]
mov r8, rdi
mov edx, 0xa
sub r8, r14
mov rcx, r14
call fcn.18005f7c0
test rax, rax
mov rsi, rdi
cmovne rsi, rax
cmp r14, rsi
jne 0x180040187
cmp rsi, rdi
je 0x1800401eb
mov r9d, esi
lea edx, [r12*4]
sub r9d, r14d
cmp byte [r13 + 0x3124], 0
jne 0x1800401a4
mov edx, 1
lea r8, [0x1800954cd]
mov qword [rsp + 0x20], r14
lea rcx, str._s_.s
call fcn.18002b5f0
mov byte [r13 + 0x3124], 0
cmp byte [rsi], 0xa
jne 0x1800401dd
lea rcx, [0x18009bbd4]
call fcn.18002b5f0
mov byte [r13 + 0x3124], 1
cmp rsi, rdi
je 0x1800401eb
lea r14, [rsi + 1]
jmp 0x180040160
mov rax, qword [rbp + 0x6f]
mov r12d, 0
test rax, rax
je 0x180040219
nop word [rax + rax]
cmp byte [rax + r15 + 1], r12b
lea r15, [r15 + 1]
jne 0x180040200
lea r8, [rax + r15]
mov rdx, rax
xor ecx, ecx
call fcn.18002b630
mov r13, qword [rbp + 0x77]
mov eax, dword [rbx + 0x88]
mov dword [r13 + 0xdc], eax
mov r9d, dword [rbx + 0x78]
movsx r10d, byte [rbx + 0x1f2]
movss xmm10, dword [rbx + 0x84]
movss xmm9, dword [rbx + 0x88]
mov dword [rbp + 0x77], r10d
lea eax, [r9 + 1]
mov dword [rbp + 0x67], eax
movsx eax, byte [rbx + 0x1f1]
mov dword [rbp + 0x6f], eax
test r9d, r9d
jne 0x180040273
movaps xmm0, xmm9
subss xmm0, xmm10
movss dword [rbx + 0xd8], xmm0
comiss xmm9, dword [rbx + 0x128]
movss xmm11, dword [0x18009d890]
jb 0x180040840
movss xmm0, dword [rbx + 0x130]
comiss xmm0, xmm10
jb 0x180040840
mov eax, dword [rbx + 0xa0]
lea r8, [rbx + 4]
movaps xmmword [rsp + 0x70], xmm8
mov esi, r12d
cmp eax, 0x1000000
jne 0x1800402f5
test byte [r8], 0x40
je 0x1800402f7
mov rcx, qword [0x1800afdc8]
mov eax, dword [rbx + 0x9c]
and eax, 1
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x18f0]
movups xmmword [rbp - 0x59], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x1558]
lea rcx, [rbp - 0x59]
movss dword [rbp - 0x4d], xmm0
call fcn.18001a2f0
mov esi, eax
mov edi, dword [rbx + 0xa4]
mov r15d, r12d
cmp edi, 0x1000000
cmove edi, r12d
test r9d, r9d
jg 0x18004031f
mov rax, qword [rbx + 0x188]
cmp qword [rbx + 0x190], rax
jne 0x180040341
test byte [r8], 0x80
je 0x180040341
test dword [rbx + 0x98], 0x10000
je 0x18004033a
mov r15d, dword [rbx + 0xa8]
jmp 0x180040341
mov r15d, dword [rbx + 0xac]
movzx r14d, byte [rbx + 0x1f5]
mov eax, edi
shr r14b, 7
or eax, r15d
or eax, esi
jne 0x180040364
lea eax, [r9 + 1]
cmp eax, r10d
je 0x180040364
test r14b, r14b
jne 0x18004039c
test dword [r8], 0x100000
jne 0x180040386
movups xmm0, xmmword [rbx + 0x144]
mov rax, qword [r13 + 0x280]
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rax + 0x88], xmm0
mov rdx, qword [r13 + 0x280]
xor r8d, r8d
mov rcx, qword [rbx + 0x1a8]
call fcn.1800385e0
xorps xmm8, xmm8
test esi, esi
jne 0x1800403ac
test edi, edi
je 0x180040470
movss xmm0, dword [rbx + 0x114]
movaps xmmword [rsp + 0x90], xmm6
movaps xmm6, xmm10
movaps xmmword [rsp + 0x80], xmm7
movaps xmm7, xmm9
maxss xmm0, dword [rbx + 0x134]
maxss xmm6, dword [rbx + 0x138]
minss xmm7, dword [rbx + 0x140]
movss dword [rbp - 0x59], xmm0
movss xmm0, dword [rbx + 0x11c]
movss dword [rbp - 0x55], xmm6
movss dword [rbp - 0x4d], xmm7
minss xmm0, dword [rbx + 0x13c]
movss dword [rbp - 0x51], xmm0
test esi, esi
je 0x180040434
comiss xmm7, xmm6
jbe 0x180040434
mov rcx, qword [r13 + 0x280]
lea r8, [rbp - 0x51]
mov dword [rsp + 0x28], r12d
lea rdx, [rbp - 0x59]
mov r9d, esi
movss dword [rsp + 0x20], xmm8
call fcn.180037d80
test edi, edi
je 0x180040460
comiss xmm7, xmm6
jbe 0x180040460
mov rcx, qword [r13 + 0x280]
lea r8, [rbp - 0x51]
mov dword [rsp + 0x28], r12d
lea rdx, [rbp - 0x59]
mov r9d, edi
movss dword [rsp + 0x20], xmm8
call fcn.180037d80
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
test r14b, r14b
jne 0x18004055a
mov rdi, qword [rbx + 0x38]
movsx rax, byte [rbx + 0x1f5]
lea rsi, [rdi + rax*8]
cmp rdi, rsi
ja 0x18004055a
movsx rax, byte [rdi + 4]
imul rcx, rax, 0x68
mov rax, qword [rbx + 0x18]
cmp byte [rcx + rax + 0x54], 0xff
movss xmm3, dword [rcx + rax + 0xc]
movss xmm2, dword [rcx + rax + 8]
movaps xmm1, xmm3
jne 0x1800404bd
subss xmm2, dword [rbx + 0xcc]
cmp byte [rcx + rax + 0x55], 0xff
jne 0x1800404cc
addss xmm1, dword [rbx + 0xd0]
movss xmm0, dword [rbx + 0x84]
maxss xmm0, dword [rbx + 0x138]
maxss xmm2, dword [rbx + 0x134]
minss xmm1, dword [rbx + 0x13c]
movss xmm4, dword [rcx + rax + 0x20]
movss dword [rbp - 0x55], xmm0
comiss xmm2, xmm4
movss xmm0, dword [rbx + 0x88]
minss xmm0, dword [rbx + 0x140]
movss dword [rbp - 0x59], xmm2
movss dword [rbp - 0x51], xmm1
movss dword [rbp - 0x4d], xmm0
jae 0x180040520
movss dword [rbp - 0x59], xmm4
comiss xmm3, xmm1
ja 0x18004052a
movss dword [rbp - 0x51], xmm3
mov r9d, dword [rdi]
lea r8, [rbp - 0x51]
mov rcx, qword [r13 + 0x280]
lea rdx, [rbp - 0x59]
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm8
call fcn.180037d80
add rdi, 8
cmp rdi, rsi
jbe 0x180040492
movaps xmm8, xmmword [rsp + 0x70]
test r15d, r15d
je 0x1800405c4
comiss xmm10, dword [rbx + 0x138]
jb 0x1800405c4
movss xmm0, dword [rbx + 0x140]
comiss xmm0, xmm10
jbe 0x1800405c4
movss xmm0, dword [rbx + 0xb4]
lea r8, [rbp + 0x7f]
movss xmm1, dword [rbx + 0xb0]
lea rdx, [rbp - 0x59]
mov rcx, qword [r13 + 0x280]
mov r9d, r15d
movss dword [rbp + 0x7f], xmm0
movss dword [rbp - 0x59], xmm1
movss dword [rbp + 0x83], xmm10
movss dword [rbp - 0x55], xmm10
movss dword [rsp + 0x20], xmm11
call fcn.180037b10
mov r9d, dword [rbp + 0x67]
mov r10d, dword [rbp + 0x77]
cmp r9d, r10d
jne 0x18004063c
comiss xmm9, dword [rbx + 0x138]
jb 0x18004063c
movss xmm0, dword [rbx + 0x140]
comiss xmm0, xmm9
jbe 0x18004063c
movss xmm0, dword [rbx + 0xb4]
lea r8, [rbp + 0x7f]
movss xmm1, dword [rbx + 0xb0]
lea rdx, [rbp - 0x59]
mov r9d, dword [rbx + 0xa8]
mov rcx, qword [r13 + 0x280]
movss dword [rbp + 0x7f], xmm0
movss dword [rbp - 0x59], xmm1
movss dword [rbp + 0x83], xmm9
movss dword [rbp - 0x55], xmm9
movss dword [rsp + 0x20], xmm11
call fcn.180037b10
mov r9d, dword [rbp + 0x67]
mov r10d, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
cmp r9d, eax
jne 0x1800406a0
cmp dword [rbx + 0x74], 0
mov edx, r12d
jle 0x1800406a0
mov r8, r12
nop dword [rax]
movsx eax, byte [rbx + 0x1f4]
lea r8, [r8 + 0x68]
cmp edx, eax
mov rax, qword [rbx + 0x18]
setl cl
inc edx
mov byte [r8 + rax - 6], cl
cmp edx, dword [rbx + 0x74]
jl 0x180040680
cmp r9d, r10d
jne 0x18004080a
movss xmm1, dword [rbx + 0x88]
movzx eax, byte [rbx + 0x1f8]
movaps xmm0, xmm1
addss xmm0, xmm11
mov byte [rbx + 0x204], 1
maxss xmm0, dword [r13 + 0x1f4]
minss xmm0, dword [r13 + 0x1fc]
movss dword [rbx + 0x158], xmm0
movss dword [rbx + 0x138], xmm0
movss xmm0, dword [r13 + 0x1fc]
movss dword [rbx + 0x160], xmm0
movss dword [rbx + 0x140], xmm0
movaps xmm0, xmm1
addss xmm1, dword [rbx + 0x118]
subss xmm0, dword [rbx + 0x84]
mov byte [rbx + 0x1f7], al
subss xmm1, dword [rbx + 0xf8]
movss dword [r13 + 0xdc], xmm1
cmp dword [rbx + 0x74], 0
movss dword [rbx + 0x88], xmm1
subss xmm1, xmm0
movss dword [rbx + 0x84], xmm1
jle 0x180040774
mov rdx, r12
nop dword [rax]
mov rcx, qword [rbx + 0x18]
lea rdx, [rdx + 0x68]
inc r12d
movzx eax, byte [rdx + rcx - 0xf]
mov byte [rdx + rcx - 0x11], al
mov eax, dword [rbx + 0x158]
mov dword [rdx + rcx - 0x44], eax
cmp r12d, dword [rbx + 0x74]
jl 0x180040750
mov rax, qword [rbx + 0x18]
movss xmm4, dword [rax + 0x20]
movss xmm3, dword [rax + 0x24]
movss xmm2, dword [rax + 0x28]
movss xmm1, dword [rax + 0x2c]
movups xmm0, xmmword [rax + 0x20]
mov rax, qword [r13 + 0x280]
movss dword [rbp - 0x59], xmm4
movups xmmword [r13 + 0x220], xmm0
movss dword [rbp - 0x55], xmm3
movss dword [rbp - 0x51], xmm2
movss dword [rbp - 0x4d], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r13 + 0x280]
movups xmm0, xmmword [rbp - 0x59]
movsxd rdx, dword [rax + 0x58]
mov rcx, qword [rax + 0x60]
add rdx, rdx
movups xmmword [rcx + rdx*8 - 0x10], xmm0
mov rax, qword [rbx + 0x18]
mov rdx, qword [r13 + 0x280]
mov rcx, qword [rbx + 0x1a8]
movzx r8d, byte [rax + 0x57]
call fcn.1800385e0
test byte [rbx + 0x98], 1
movaps xmm11, xmmword [rsp + 0x40]
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov byte [rbx + 0x1fa], 0
jne 0x180040836
inc dword [rbx + 0x9c]
add rsp, 0xd8
pop rbx
pop rbp
ret
mov r9d, dword [rbp + 0x67]
jmp 0x18004063f