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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x100
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xf0], xmm8
movdqa xmm6, xmmword [0x1c7431980]
movss xmm1, dword [0x1c7431990]
shufps xmm1, xmm1, 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r12, r8
movd xmm0, r8d
mov rsi, rdx
mov rdi, rcx
shr r12, 0x20
lea rdx, [0x1c7309e40]
mov rbx, r8
movd xmm7, r12d
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm0
pand xmm6, xmm0
psrld xmm0, 0x10
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm1
cvtdq2ps xmm6, xmm6
addps xmm6, xmm0
cmp rax, rdx
jne 0x1c7309a10
mov rbp, qword [rcx + 8]
mov rcx, qword [rsi]
mov r9, qword [rcx]
test rbp, rbp
je 0x1c7309a24
mov rax, qword [rdi + 0x10]
pxor xmm4, xmm4
pxor xmm2, xmm2
mov r9, qword [r9 + 0x90]
mov r8d, dword [rax + 8]
movss xmm3, dword [rax + 0x14]
movss xmm0, dword [rax + 0xc]
cvtsi2ss xmm4, r8
mov rdx, r8
mov r8d, dword [rax + 4]
mov eax, dword [rax]
cvtsi2ss xmm2, r8
movaps xmm5, xmm4
addss xmm5, xmm3
movaps xmm1, xmm2
addss xmm1, xmm0
unpcklps xmm0, xmm3
movaps xmm3, xmm0
unpcklps xmm1, xmm5
movlhps xmm3, xmm1
addps xmm3, xmm6
test eax, eax
je 0x1c7309940
cmp eax, 3
jne 0x1c73098d0
pxor xmm7, xmm7
movaps xmm1, xmm2
pxor xmm0, xmm0
sub edx, dword [rdi + 0x24]
cvtsi2ss xmm7, rdx
unpcklps xmm1, xmm4
lea rbx, [rsp + 0x70]
movss xmm3, dword [0x1c7431920]
lea r12, [rsp + 0x80]
mov rdx, rbp
movss dword [rsp + 0x88], xmm2
mov r8, rbx
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x28], r12
unpcklps xmm0, xmm7
mov dword [rsp + 0x20], 1
movss dword [rsp + 0x84], xmm7
movlhps xmm0, xmm1
movss dword [rsp + 0x8c], xmm4
addps xmm0, xmm6
movaps xmmword [rsp + 0x70], xmm0
call r9
mov rax, qword [rdi + 0x10]
pxor xmm2, xmm2
pxor xmm1, xmm1
xorps xmm0, xmm0
mov edx, dword [rax + 8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], 0
cvtsi2ss xmm2, rax
cvtsi2ss xmm1, rdx
movss dword [rsp + 0x88], xmm2
movaps xmm3, xmm2
movss dword [rsp + 0x84], xmm1
unpcklps xmm3, xmm7
addss xmm1, xmm7
movlhps xmm0, xmm3
addps xmm0, xmm6
movss dword [rsp + 0x8c], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov rcx, qword [rsi]
movss xmm3, dword [0x1c7431920]
mov r8, rbx
mov rdx, rbp
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 1
call qword [rax + 0x90]
nop
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
add rsp, 0x100
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov eax, dword [rdi + 0x24]
pxor xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm3
lea r8, [rsp + 0x70]
mov dword [rsp + 0x20], 1
movss xmm3, dword [0x1c7431920]
mov dword [rsp + 0x80], 0
cvtsi2ss xmm0, eax
add eax, edx
mov rdx, rbp
movss dword [rsp + 0x88], xmm2
mov eax, eax
movss dword [rsp + 0x84], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x8c], xmm0
call r9
jmp 0x1c73098a4
movaps xmm7, xmm0
unpcklps xmm2, xmm4
lea rbx, [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm3
lea r12, [rsp + 0x80]
mov rdx, rbp
movlhps xmm7, xmm0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x28], r12
movss xmm3, dword [0x1c7431920]
mov r8, rbx
mov dword [rsp + 0x20], 1
movlps qword [rsp + 0x88], xmm2
call r9
mov rax, qword [rdi + 0x10]
mov edx, dword [rax + 0x24]
test edx, edx
je 0x1c7309d38
cmp edx, 5
je 0x1c7309d38
pxor xmm0, xmm0
pxor xmm4, xmm4
movss xmm3, dword [rax + 0x3c]
movss xmm1, dword [rax + 0x34]
cvtsi2ss xmm0, dword [rdi + 0x24]
movaps xmm2, xmm3
subss xmm2, xmm1
comiss xmm4, xmm0
jbe 0x1c73099d3
addss xmm2, xmm0
subss xmm1, xmm0
movaps xmm0, xmm4
addss xmm2, xmm0
movss xmm5, dword [rax + 0x40]
movss xmm4, dword [rax + 0x38]
unpcklps xmm0, xmm4
unpcklps xmm2, xmm5
movlhps xmm0, xmm2
addps xmm0, xmm6
unpcklps xmm3, xmm5
unpcklps xmm1, xmm4
movlhps xmm1, xmm3
movaps xmmword [rsp + 0x80], xmm1
addps xmm0, xmm7
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1c730987c
call rax
mov rcx, qword [rsi]
mov rbp, rax
mov r9, qword [rcx]
test rbp, rbp
jne 0x1c730974b
pxor xmm0, xmm0
pxor xmm2, xmm2
lea r8, [rsp + 0x50]
mov ebx, ebx
movss xmm1, dword [0x1c7431994]
cvtsi2ss xmm0, rbx
movss xmm7, dword [0x1c7431920]
mov qword [rsp + 0x50], 0
cvtsi2ss xmm2, r12
lea r12, [rsp + 0x80]
movss dword [rsp + 0x8c], xmm7
addss xmm1, xmm6
mov rdx, r12
shufps xmm6, xmm6, 0x55
addss xmm6, dword [0x1c7431998]
unpcklps xmm1, xmm6
movaps xmm6, xmm0
movss xmm0, dword [0x1c742e35c]
unpcklps xmm6, xmm2
movss dword [rsp + 0x88], xmm0
movlhps xmm6, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm1, 0xe0
movlps qword [rsp + 0x80], xmm1
call qword [r9 + 0x28]
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1c7309abd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rsi]
movaps xmmword [rsp + 0x60], xmm6
lea rdx, [rsp + 0x60]
mov r8, rbx
mov rax, qword [rcx]
call qword [rax + 0x58]
test rbx, rbx
je 0x1c7309ae1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
movss dword [rsp + 0x7c], xmm7
lea rdx, [rsp + 0x70]
movss xmm0, dword [0x1c742df60]
mov rax, qword [rcx]
movaps xmm1, xmm0
movss dword [rsp + 0x78], xmm0
shufps xmm1, xmm1, 0xe0
movlps qword [rsp + 0x70], xmm1
call qword [rax + 0x20]
mov rcx, qword [rsi]
pxor xmm0, xmm0
lea rbp, [rsp + 0xb8]
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0xb8], xmm0
mov rdx, r12
mov rax, qword [rcx]
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], 1
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], 0
movss dword [rsp + 0xa8], xmm7
call qword [rax + 0x18]
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0x58]
mov r9d, 0x190
xor r8d, r8d
mov qword [rsp + 0x58], 0
mov rax, qword [rcx]
mov qword [rsp + 0x40], rdx
lea rdx, [0x1c74318d0]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x40c00000
mov dword [rsp + 0x28], 5
mov dword [rsp + 0x20], 0
call qword [rax + 0x20]
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x1c7309be3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rsp + 0x98]
test rbx, rbx
jne 0x1c7309bfb
jmp 0x1c7309c2a
mov rbx, rdi
mov rcx, qword [rbx + 8]
lea rax, [rbx + 0x18]
mov rdi, qword [rbx]
cmp rcx, rax
je 0x1c7309c18
mov rax, qword [rbx + 0x18]
lea rdx, [rax + 1]
call fcn.1c741da90
mov edx, 0x38
mov rcx, rbx
call fcn.1c741da90
test rdi, rdi
jne 0x1c7309bf8
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
xor edx, edx
lea r8, [rax*8]
call sub.msvcrt.dll_memset
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x98], 0
mov rdx, qword [rsp + 0x90]
cmp rcx, rbp
je 0x1c7309c7f
shl rdx, 3
call fcn.1c741da90
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x1c7309c92
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1c7309ca5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x1c7309cb8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rcx, qword [rsi]
mov r9, rdi
movaps xmmword [rsp + 0x80], xmm6
mov r8d, 1
lea rdx, [0x1c74318d6]
mov rax, qword [rcx]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
call qword [rax + 0x98]
test rdi, rdi
je 0x1c7309cfc
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test rbx, rbx
je 0x1c7309d0a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1c7309d1a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1c73098a4
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1c73098a4
pxor xmm2, xmm2
pxor xmm1, xmm1
movss xmm5, dword [rax + 0x40]
movss xmm4, dword [rax + 0x38]
cvtsi2ss xmm2, dword [rdi + 0x24]
movaps xmm0, xmm5
subss xmm0, xmm4
comiss xmm1, xmm2
jbe 0x1c7309d66
addss xmm0, xmm2
subss xmm4, xmm2
movaps xmm2, xmm1
addss xmm0, xmm2
movss xmm3, dword [rax + 0x3c]
movss xmm1, dword [rax + 0x34]
movaps xmm8, xmm3
unpcklps xmm8, xmm0
movaps xmm0, xmm1
unpcklps xmm0, xmm2
movlhps xmm0, xmm8
jmp 0x1c73099ea