Function at 0x180040980
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 [0x1800b40c0]
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 0x180040a58
mov rdx, qword [rbx + 0x190]
imul rcx, rax, 0x68
add rcx, qword [rbx + 0x18]
test byte [rbx + 0x98], 1
je 0x1800409eb
mov eax, 0x48
jmp 0x180040a01
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 0x180040be9
mov rax, qword [r13 + 0x3118]
lea r14, [0x1800a1aec]
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 0x180040add
nop
movzx ecx, byte [rdi]
test cl, cl
je 0x180040add
lea rax, [rdi + 1]
cmp cl, 0x23
jne 0x180040ad4
cmp byte [rax], cl
je 0x180040add
mov rdi, rax
cmp rax, 0xffffffffffffffff
jb 0x180040ac0
mov r15, 0xffffffffffffffff
test rdx, rdx
je 0x180040b03
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], r12b
jne 0x180040af0
add r8, rdx
xor ecx, ecx
call fcn.18002cc80
mov ecx, dword [r13 + 0x3128]
mov eax, dword [rsi + 0x158]
cmp ecx, eax
jle 0x180040b1d
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.180060250
test rax, rax
mov rsi, rdi
cmovne rsi, rax
cmp r14, rsi
jne 0x180040b57
cmp rsi, rdi
je 0x180040bbb
mov r9d, esi
lea edx, [r12*4]
sub r9d, r14d
cmp byte [r13 + 0x3124], 0
jne 0x180040b74
mov edx, 1
lea r8, [0x18009aa83]
mov qword [rsp + 0x20], r14
lea rcx, str._s_.s
call fcn.18002cc40
mov byte [r13 + 0x3124], 0
cmp byte [rsi], 0xa
jne 0x180040bad
lea rcx, [0x1800a1464]
call fcn.18002cc40
mov byte [r13 + 0x3124], 1
cmp rsi, rdi
je 0x180040bbb
lea r14, [rsi + 1]
jmp 0x180040b30
mov rax, qword [rbp + 0x6f]
mov r12d, 0
test rax, rax
je 0x180040be9
nop word [rax + rax]
cmp byte [rax + r15 + 1], r12b
lea r15, [r15 + 1]
jne 0x180040bd0
lea r8, [rax + r15]
mov rdx, rax
xor ecx, ecx
call fcn.18002cc80
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 0x180040c43
movaps xmm0, xmm9
subss xmm0, xmm10
movss dword [rbx + 0xd8], xmm0
comiss xmm9, dword [rbx + 0x128]
movss xmm11, dword [0x1800a311c]
jb 0x180041210
movss xmm0, dword [rbx + 0x130]
comiss xmm0, xmm10
jb 0x180041210
mov eax, dword [rbx + 0xa0]
lea r8, [rbx + 4]
movaps xmmword [rsp + 0x70], xmm8
mov esi, r12d
cmp eax, 0x1000000
jne 0x180040cc5
test byte [r8], 0x40
je 0x180040cc7
mov rcx, qword [0x1800b40c0]
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.18001b6e0
mov esi, eax
mov edi, dword [rbx + 0xa4]
mov r15d, r12d
cmp edi, 0x1000000
cmove edi, r12d
test r9d, r9d
jg 0x180040cef
mov rax, qword [rbx + 0x188]
cmp qword [rbx + 0x190], rax
jne 0x180040d11
test byte [r8], 0x80
je 0x180040d11
test dword [rbx + 0x98], 0x10000
je 0x180040d0a
mov r15d, dword [rbx + 0xa8]
jmp 0x180040d11
mov r15d, dword [rbx + 0xac]
movzx r14d, byte [rbx + 0x1f5]
mov eax, edi
shr r14b, 7
or eax, r15d
or eax, esi
jne 0x180040d34
lea eax, [r9 + 1]
cmp eax, r10d
je 0x180040d34
test r14b, r14b
jne 0x180040d6c
test dword [r8], 0x100000
jne 0x180040d56
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.180039b50
xorps xmm8, xmm8
test esi, esi
jne 0x180040d7c
test edi, edi
je 0x180040e40
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 0x180040e04
comiss xmm7, xmm6
jbe 0x180040e04
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.1800392f0
test edi, edi
je 0x180040e30
comiss xmm7, xmm6
jbe 0x180040e30
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.1800392f0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
test r14b, r14b
jne 0x180040f2a
mov rdi, qword [rbx + 0x38]
movsx rax, byte [rbx + 0x1f5]
lea rsi, [rdi + rax*8]
cmp rdi, rsi
ja 0x180040f2a
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 0x180040e8d
subss xmm2, dword [rbx + 0xcc]
cmp byte [rcx + rax + 0x55], 0xff
jne 0x180040e9c
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 0x180040ef0
movss dword [rbp - 0x59], xmm4
comiss xmm3, xmm1
ja 0x180040efa
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.1800392f0
add rdi, 8
cmp rdi, rsi
jbe 0x180040e62
movaps xmm8, xmmword [rsp + 0x70]
test r15d, r15d
je 0x180040f94
comiss xmm10, dword [rbx + 0x138]
jb 0x180040f94
movss xmm0, dword [rbx + 0x140]
comiss xmm0, xmm10
jbe 0x180040f94
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.180039080
mov r9d, dword [rbp + 0x67]
mov r10d, dword [rbp + 0x77]
cmp r9d, r10d
jne 0x18004100c
comiss xmm9, dword [rbx + 0x138]
jb 0x18004100c
movss xmm0, dword [rbx + 0x140]
comiss xmm0, xmm9
jbe 0x18004100c
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.180039080
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 0x180041070
cmp dword [rbx + 0x74], 0
mov edx, r12d
jle 0x180041070
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 0x180041050
cmp r9d, r10d
jne 0x1800411da
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 0x180041144
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 0x180041120
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.180039b50
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 0x180041206
inc dword [rbx + 0x9c]
add rsp, 0xd8
pop rbx
pop rbp
ret
mov r9d, dword [rbp + 0x67]
jmp 0x18004100f