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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov rsi, rcx
mov rax, qword [0x180127a40]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r14, qword [0x180128540]
mov rdi, qword [r14 + 0x4008]
cmp dword [rcx + 0x74], 0xffffffff
je 0x1800a6d8e
mov rcx, rsi
call fcn.1800a8bb0
cmp byte [r14 + 0x5fa8], 0
je 0x1800a6da9
lea rdx, [0x180109f8c]
xor ecx, ecx
xor r8d, r8d
call fcn.180048b10
movss xmm0, dword [rsi + 0x80]
movss dword [rdi + 0x114], xmm0
movsd xmm7, qword [rsi + 0x7c]
movsx rax, word [rsi + 0x78]
test rax, rax
je 0x1800a6ddd
lea rax, [rax + rax*2]
mov rcx, qword [rsi + 0x1c8]
lea rbx, [rcx + rax*8]
add rbx, 0xffffffffffffffe8
jmp 0x1800a6de4
lea rbx, [rsi + 0x1a8]
mov r15d, dword [rsi + 0x70]
movsx r13d, word [rsi + 0x228]
movsx ebp, word [rsi + 0x226]
mov eax, dword [rsi + 0x94]
movaps xmm6, xmm7
shufps xmm6, xmm7, 0x55
test al, 1
je 0x1800a6e25
test r15d, r15d
je 0x1800a6e14
and eax, 0x10000
je 0x1800a6e25
movaps xmm0, xmm6
subss xmm0, xmm7
addss xmm0, dword [rbx + 8]
movss dword [rbx + 8], xmm0
inc r15d
ucomiss xmm6, dword [rsi + 0x124]
jb 0x1800a71d5
movss xmm0, dword [rsi + 0x12c]
ucomiss xmm0, xmm7
jb 0x1800a71d5
cmp word [rsi + 0x20a], 0xffff
je 0x1800a6e69
movss xmm0, dword [r14 + 0xe4c]
ucomiss xmm0, xmm7
jb 0x1800a6e69
ucomiss xmm6, xmm0
jbe 0x1800a6e69
mov eax, dword [rsi + 0x70]
mov dword [rbx + 0x14], eax
mov dword [rsp + 0x34], ebp
mov r14d, dword [rsi + 0x9c]
cmp r14d, 0x1000000
jne 0x1800a6ea2
xor r14d, r14d
test byte [rsi + 4], 0x40
je 0x1800a6ea2
mov ecx, dword [rsi + 0x98]
and ecx, 1
add ecx, 0x2d
movss xmm1, dword [0x1800d5260]
call fcn.1800482e0
mov r14d, eax
mov ebp, dword [rsi + 0xa0]
xor eax, eax
cmp ebp, 0x1000000
cmove ebp, eax
cmp dword [rsi + 0x70], 0
mov qword [rsp + 0x40], rbx
jle 0x1800a6ed7
test byte [rsi + 4], 0x80
je 0x1800a6ed7
xor eax, eax
test byte [rsi + 0x96], 1
sete al
mov eax, dword [rsi + rax*4 + 0xa4]
movzx r12d, word [rsi + 0x22e]
mov ebx, ebp
or ebx, r14d
mov dword [rsp + 0x30], eax
or eax, ebx
jne 0x1800a6ef7
cmp r15d, r13d
je 0x1800a6ef7
test r12w, r12w
js 0x1800a6f28
test byte [rsi + 6], 0x10
jne 0x1800a6f12
mov rax, qword [rdi + 0x2a8]
movups xmm0, xmmword [rsi + 0x140]
movups xmmword [rax + 0x88], xmm0
mov rcx, qword [rsi + 0x1a0]
mov rdx, qword [rdi + 0x2a8]
xor r8d, r8d
call fcn.180092300
mov dword [rsp + 0x3c], r15d
test ebx, ebx
je 0x1800a6fef
lea r15, [rsp + 0x58]
movups xmm1, xmmword [rsi + 0x130]
movss xmm2, dword [rsi + 0x110]
movss xmm0, dword [rsi + 0x118]
unpcklps xmm2, xmm7
shufps xmm0, xmm7, 0x54
shufps xmm2, xmm0, 0x84
movaps xmm3, xmm1
cmpleps xmm3, xmm2
movaps xmm0, xmm2
cmpltps xmm0, xmm1
movsd xmm0, xmm3
andps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
movaps xmmword [rsp + 0x50], xmm0
test r14d, r14d
je 0x1800a6fb7
pshufd xmm1, xmm0, 0x55
pshufd xmm0, xmm0, 0xff
ucomiss xmm0, xmm1
jbe 0x1800a6fb7
mov rcx, qword [rdi + 0x2a8]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
mov r8, r15
mov r9d, r14d
call fcn.18008fc60
test ebp, ebp
je 0x1800a6fef
movss xmm0, dword [rsp + 0x5c]
ucomiss xmm0, dword [rsp + 0x54]
jbe 0x1800a6fef
mov rcx, qword [rdi + 0x2a8]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x50]
mov r8, r15
mov r9d, ebp
call fcn.18008fc60
mov dword [rsp + 0x38], r13d
test r12w, r12w
js 0x1800a70f4
movsx rax, word [rsi + 0x22e]
test rax, rax
js 0x1800a70f4
mov rbp, qword [rsi + 0x38]
lea r13, [rax*8]
add r13, rbp
lea r14, [rsp + 0x58]
lea r15, [rsp + 0x50]
nop dword [rax + rax]
movsx eax, word [rbp + 4]
mov rbx, qword [rsi + 0x18]
movsxd r12, eax
mov rcx, r15
mov rdx, rsi
mov r8d, r12d
call fcn.1800a8800
movsd xmm0, qword [rsp + 0x50]
movsd xmm1, qword [rsi + 0x130]
movaps xmm2, xmm1
cmpleps xmm2, xmm0
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm2, xmm0
movlps qword [rsp + 0x50], xmm2
movss xmm0, dword [rsp + 0x5c]
minss xmm0, dword [rsi + 0x13c]
movss xmm1, dword [rsp + 0x58]
minss xmm1, dword [rsi + 0x138]
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x5c], xmm0
imul rax, r12, 0x70
movss xmm0, dword [rbx + rax + 0x20]
movaps xmm3, xmm0
cmpless xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm0
orps xmm3, xmm2
movss dword [rsp + 0x50], xmm3
minss xmm1, dword [rbx + rax + 0xc]
movss dword [rsp + 0x58], xmm1
mov rcx, qword [rdi + 0x2a8]
mov r9d, dword [rbp]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rdx, r15
mov r8, r14
call fcn.18008fc60
add rbp, 8
cmp rbp, r13
jbe 0x1800a7030
mov r9d, dword [rsp + 0x30]
test r9d, r9d
je 0x1800a715a
ucomiss xmm7, dword [rsi + 0x134]
jb 0x1800a715a
movss xmm0, dword [rsi + 0x13c]
ucomiss xmm0, xmm7
jbe 0x1800a715a
mov rcx, qword [rdi + 0x2a8]
movss xmm0, dword [rsi + 0xb0]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm7
movss xmm0, dword [rsi + 0xac]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm7
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x50]
call fcn.18008f9f0
mov r15d, dword [rsp + 0x3c]
mov r13d, dword [rsp + 0x38]
cmp r15d, r13d
mov rbx, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x34]
jne 0x1800a71d5
ucomiss xmm6, dword [rsi + 0x134]
jb 0x1800a71d5
movss xmm0, dword [rsi + 0x13c]
ucomiss xmm0, xmm6
jbe 0x1800a71d5
mov rcx, qword [rdi + 0x2a8]
mov r9d, dword [rsi + 0xa4]
movss xmm0, dword [rsi + 0xb0]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm6
movss xmm0, dword [rsi + 0xac]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm6
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x50]
call fcn.18008f9f0
cmp r15d, ebp
jne 0x1800a7208
cmp dword [rsi + 0x6c], 0
jle 0x1800a7208
mov eax, 0x6a
xor ecx, ecx
nop word [rax + rax]
mov rdx, qword [rsi + 0x18]
mov byte [rdx + rax], 0
inc rcx
movsxd rdx, dword [rsi + 0x6c]
add rax, 0x70
cmp rcx, rdx
jl 0x1800a71f0
cmp r15d, r13d
jne 0x1800a7339
movss xmm0, dword [rdi + 0x21c]
movss xmm1, dword [rsi + 0x80]
addss xmm1, dword [0x1800d5260]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
mov byte [rsi + 0x242], 1
movaps xmm0, xmm2
subss xmm0, dword [rsi + 0xf4]
movss dword [rbx + 0xc], xmm0
minss xmm2, dword [rdi + 0x224]
movss dword [rsi + 0x154], xmm2
movss dword [rsi + 0x134], xmm2
movss xmm0, dword [rdi + 0x224]
movss dword [rsi + 0x15c], xmm0
movss dword [rsi + 0x13c], xmm0
movzx eax, word [rsi + 0x234]
mov word [rsi + 0x232], ax
movss xmm0, dword [rsi + 0x80]
movaps xmm1, xmm0
subss xmm1, dword [rsi + 0x7c]
addss xmm0, dword [rsi + 0x114]
subss xmm0, dword [rsi + 0xf4]
movss dword [rdi + 0x114], xmm0
movss dword [rsi + 0x80], xmm0
subss xmm0, xmm1
movss dword [rsi + 0x7c], xmm0
cmp dword [rsi + 0x6c], 0
jle 0x1800a730d
mov eax, 0x60
xor ecx, ecx
nop word cs:[rax + rax]
mov rdx, qword [rsi + 0x18]
movzx r8d, word [rdx + rax]
mov word [rdx + rax - 4], r8w
movss xmm0, dword [rsi + 0x154]
movss dword [rdx + rax - 0x3c], xmm0
inc rcx
movsxd rdx, dword [rsi + 0x6c]
add rax, 0x70
cmp rcx, rdx
jl 0x1800a72e0
mov rdx, qword [rsi + 0x18]
add rdx, 0x20
mov rcx, rdi
call fcn.1800a8cb0
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x1a0]
movzx r8d, word [rax + 0x5c]
mov rdx, qword [rdi + 0x2a8]
call fcn.180092300
test byte [rsi + 0x94], 1
jne 0x1800a7348
inc dword [rsi + 0x98]
mov byte [rsi + 0x237], 0
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1800cf260
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret