Function at 0x140074ac0
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, 0x88
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov rsi, rcx
mov rax, qword [0x14018e218]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbx, qword [0x14018f550]
mov r15, qword [rbx + 0x3ed8]
movsxd r12, dword [rcx + 0x74]
cmp r12, 0xffffffffffffffff
je 0x140074bec
mov rdi, qword [rsi + 0x18]
mov r14, qword [rsi + 0x180]
cmp byte [r14 + 0x141], 0
je 0x140074b25
call fcn.14003e930
test byte [rsi + 0x94], 1
jne 0x140074b46
movzx eax, byte [rsi + 0x235]
imul rcx, r12, 0x70
add rcx, rdi
lea rax, [rcx + rax*4]
add rax, 0x40
jmp 0x140074b51
imul rax, r12, 0x70
add rax, rdi
add rax, 0x48
movss xmm0, dword [r14 + 0x118]
movss xmm1, dword [rax]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movss dword [rax], xmm2
imul rax, r12, 0x70
cmp byte [rdi + rax + 0x62], 0
je 0x140074bb3
movss xmm0, dword [r14 + 0x11c]
addss xmm0, dword [rsi + 0x88]
movss xmm1, dword [rsi + 0x80]
movaps xmm2, xmm0
cmpless xmm2, xmm1
movaps xmm3, xmm2
andnps xmm3, xmm0
andps xmm2, xmm1
orps xmm2, xmm3
movss dword [rsi + 0x80], xmm2
movss xmm0, dword [r14 + 0x1bc]
movss dword [rdi + rax + 0x3c], xmm0
movss xmm0, dword [r14 + 0x13c]
movss xmm1, dword [rsi + 0x8c]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movss dword [rsi + 0x8c], xmm2
cmp byte [rbx + 0x5ca8], 0
je 0x140074c06
lea rdx, [0x14017114b]
xor ecx, ecx
xor r8d, r8d
call fcn.140028060
movss xmm0, dword [rsi + 0x80]
movss dword [r15 + 0x104], xmm0
movsd xmm7, qword [rsi + 0x7c]
mov r12d, dword [rsi + 0x70]
movsx r13d, word [rsi + 0x21c]
movsx edi, word [rsi + 0x21a]
movaps xmm6, xmm7
shufps xmm6, xmm7, 0x55
test r12d, r12d
jne 0x140074c6d
movaps xmm0, xmm6
subss xmm0, xmm7
movsx rax, word [rsi + 0x78]
test rax, rax
je 0x140074c61
lea rax, [rax + rax*2]
mov rcx, qword [rsi + 0x1c0]
lea rax, [rcx + rax*8]
add rax, 0xffffffffffffffe8
jmp 0x140074c68
lea rax, [rsi + 0x1a0]
movss dword [rax + 8], xmm0
inc r12d
ucomiss xmm6, dword [rsi + 0x11c]
jb 0x140075051
movss xmm0, dword [rsi + 0x124]
ucomiss xmm0, xmm7
jb 0x140075051
cmp word [rsi + 0x200], 0xffff
je 0x140074cd6
movss xmm0, dword [rbx + 0xe04]
ucomiss xmm0, xmm7
jb 0x140074cd6
ucomiss xmm6, xmm0
jbe 0x140074cd6
mov eax, dword [rsi + 0x70]
movsx rcx, word [rsi + 0x78]
test rcx, rcx
je 0x140074ccc
lea rcx, [rcx + rcx*2]
mov rdx, qword [rsi + 0x1c0]
lea rcx, [rdx + rcx*8]
add rcx, 0xffffffffffffffe8
jmp 0x140074cd3
lea rcx, [rsi + 0x1a0]
mov dword [rcx + 0x14], eax
mov ebp, dword [rsi + 0x9c]
cmp ebp, 0x1000000
jne 0x140074d07
xor ebp, ebp
test byte [rsi + 4], 0x40
je 0x140074d07
mov ecx, dword [rsi + 0x98]
and ecx, 1
add ecx, 0x2d
movss xmm1, dword [0x140156344]
call fcn.140027840
mov ebp, eax
mov ebx, dword [rsi + 0xa0]
xor ecx, ecx
cmp ebx, 0x1000000
cmove ebx, ecx
cmp dword [rsi + 0x70], 0
jle 0x140074d39
test byte [rsi + 4], 0x80
je 0x140074d49
xor eax, eax
test byte [rsi + 0x96], 1
sete al
mov ecx, dword [rsi + rax*4 + 0xa4]
jmp 0x140074d49
mov rax, qword [rsi + 0x180]
cmp rax, qword [rsi + 0x178]
je 0x140074d1e
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x34], edi
movzx r14d, word [rsi + 0x222]
mov eax, ebx
or eax, ebp
or eax, ecx
jne 0x140074d6c
cmp r12d, r13d
je 0x140074d6c
test r14w, r14w
js 0x140074d9d
test byte [rsi + 6], 0x10
jne 0x140074d87
mov rax, qword [r15 + 0x298]
movups xmm0, xmmword [rsi + 0x138]
movups xmmword [rax + 0x88], xmm0
mov rcx, qword [rsi + 0x198]
mov rdx, qword [r15 + 0x298]
xor r8d, r8d
call fcn.14004a2e0
mov eax, ebx
or eax, ebp
je 0x140074e60
lea rdi, [rsp + 0x48]
movups xmm1, xmmword [rsi + 0x128]
movss xmm2, dword [rsi + 0x108]
movss xmm0, dword [rsi + 0x110]
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 + 0x40], xmm0
test ebp, ebp
je 0x140074e28
pshufd xmm1, xmm0, 0x55
pshufd xmm0, xmm0, 0xff
ucomiss xmm0, xmm1
jbe 0x140074e28
mov rcx, qword [r15 + 0x298]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x40]
mov r8, rdi
mov r9d, ebp
call fcn.140049330
test ebx, ebx
je 0x140074e60
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, dword [rsp + 0x44]
jbe 0x140074e60
mov rcx, qword [r15 + 0x298]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea rdx, [rsp + 0x40]
mov r8, rdi
mov r9d, ebx
call fcn.140049330
test r14w, r14w
js 0x140074f7f
movsx rax, word [rsi + 0x222]
test rax, rax
js 0x140074f7f
mov rbp, qword [rsi + 0x38]
lea rdi, [rax*8]
add rdi, rbp
lea rbx, [rsp + 0x48]
lea r14, [rsp + 0x40]
nop word cs:[rax + rax]
movsx rcx, word [rbp + 4]
mov rax, qword [rsi + 0x18]
imul rcx, rcx, 0x70
movss xmm1, dword [rax + rcx + 8]
movss xmm0, dword [rax + rcx + 0xc]
movss xmm2, dword [rsi + 0x108]
movaps xmm3, xmm2
cmpless xmm3, xmm1
andps xmm1, xmm3
andnps xmm3, xmm2
orps xmm3, xmm1
minss xmm0, dword [rsi + 0x110]
movss xmm1, dword [rsi + 0x80]
movsd xmm2, qword [rsi + 0x128]
movss xmm4, dword [rsi + 0x7c]
unpcklps xmm3, xmm4
movaps xmm4, xmm2
cmpleps xmm4, xmm3
andps xmm3, xmm4
andnps xmm4, xmm2
orps xmm4, xmm3
movlps qword [rsp + 0x40], xmm4
minss xmm1, dword [rsi + 0x134]
minss xmm0, dword [rsi + 0x130]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm1, dword [rax + rcx + 0x20]
movaps xmm2, xmm1
cmpless xmm2, xmm4
andps xmm4, xmm2
andnps xmm2, xmm1
orps xmm2, xmm4
movss dword [rsp + 0x40], xmm2
minss xmm0, dword [rax + rcx + 0xc]
movss dword [rsp + 0x48], xmm0
mov rcx, qword [r15 + 0x298]
mov r9d, dword [rbp]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rdx, r14
mov r8, rbx
call fcn.140049330
add rbp, 8
cmp rbp, rdi
jbe 0x140074ea0
mov r9d, dword [rsp + 0x30]
test r9d, r9d
je 0x140074fe5
ucomiss xmm7, dword [rsi + 0x12c]
jb 0x140074fe5
movss xmm0, dword [rsi + 0x134]
ucomiss xmm0, xmm7
jbe 0x140074fe5
mov rcx, qword [r15 + 0x298]
movss xmm0, dword [rsi + 0xb0]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm7
movss xmm0, dword [rsi + 0xac]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm7
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x40]
call fcn.1400490b0
cmp r12d, r13d
mov edi, dword [rsp + 0x34]
jne 0x140075051
ucomiss xmm6, dword [rsi + 0x12c]
jb 0x140075051
movss xmm0, dword [rsi + 0x134]
ucomiss xmm0, xmm6
jbe 0x140075051
mov rcx, qword [r15 + 0x298]
mov r9d, dword [rsi + 0xa4]
movss xmm0, dword [rsi + 0xb0]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm6
movss xmm0, dword [rsi + 0xac]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm6
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x40]
call fcn.1400490b0
cmp r12d, edi
jne 0x140075088
cmp dword [rsi + 0x6c], 0
jle 0x140075088
mov eax, 0x6a
xor ecx, ecx
nop word cs:[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 0x140075070
cmp r12d, r13d
jne 0x140075213
movss xmm1, dword [rsi + 0x80]
addss xmm1, dword [0x140156344]
movss xmm2, dword [r15 + 0x20c]
movaps xmm0, xmm2
cmpless xmm0, xmm1
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm0, xmm1
mov byte [rsi + 0x235], 1
movaps xmm1, xmm0
subss xmm1, dword [rsi + 0xec]
movsx rax, word [rsi + 0x78]
test rax, rax
je 0x1400750ec
lea rax, [rax + rax*2]
mov rcx, qword [rsi + 0x1c0]
lea rax, [rcx + rax*8]
add rax, 0xffffffffffffffe8
jmp 0x1400750f3
lea rax, [rsi + 0x1a0]
movss dword [rax + 0xc], xmm1
movss xmm1, dword [r15 + 0x214]
minss xmm0, xmm1
movss dword [rsi + 0x14c], xmm0
movss dword [rsi + 0x12c], xmm0
movss xmm0, dword [r15 + 0x214]
movss dword [rsi + 0x154], xmm0
movss dword [rsi + 0x134], xmm0
movzx eax, word [rsi + 0x228]
mov word [rsi + 0x226], ax
movss xmm0, dword [rsi + 0x80]
movaps xmm1, xmm0
subss xmm1, dword [rsi + 0x7c]
addss xmm0, dword [rsi + 0x10c]
subss xmm0, dword [rsi + 0xec]
movss dword [r15 + 0x104], xmm0
movss dword [rsi + 0x80], xmm0
subss xmm0, xmm1
movss dword [rsi + 0x7c], xmm0
cmp dword [rsi + 0x6c], 0
jle 0x1400751bd
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 + 0x14c]
movss dword [rdx + rax - 0x3c], xmm0
inc rcx
movsxd rdx, dword [rsi + 0x6c]
add rax, 0x70
cmp rcx, rdx
jl 0x140075190
mov rax, qword [rsi + 0x18]
movups xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x20]
movups xmmword [r15 + 0x238], xmm1
mov rax, qword [r15 + 0x298]
movups xmmword [rax + 0x88], xmm0
mov rax, qword [r15 + 0x298]
mov rcx, qword [rax + 0x60]
movsxd rax, dword [rax + 0x58]
shl rax, 4
movups xmmword [rax + rcx - 0x10], xmm0
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x198]
movzx r8d, word [rax + 0x5c]
mov rdx, qword [r15 + 0x298]
call fcn.14004a2e0
test byte [rsi + 0x94], 1
jne 0x140075222
inc dword [rsi + 0x98]
mov byte [rsi + 0x22b], 0
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14011fde0
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret