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

Disassembly:
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x695ba390
jmp 0x695fdbd0
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
movups xmmword [rsp + 0xb0], xmm6
movups xmmword [rsp + 0xc0], xmm7
movups xmmword [rsp + 0xd0], xmm8
movups xmmword [rsp + 0xe0], xmm9
movups xmmword [rsp + 0xf0], xmm10
movups xmmword [rsp + 0x100], xmm11
movups xmmword [rsp + 0x110], xmm12
movups xmmword [rsp + 0x120], xmm13
movups xmmword [rsp + 0x130], xmm14
movups xmmword [rsp + 0x140], xmm15
mov eax, dword [rcx + 0x2408]
lea ebx, [rax - 1]
movsxd rbx, ebx
imul rbx, rbx, 0x11c
mov rsi, rcx
lea rdi, [rcx + rbx]
lea rax, [rcx + rbx + 0x88]
movdqu xmm5, xmmword [rdi + 0x9c]
mov qword [rsp + 0x40], rax
movdqu xmm6, xmmword [rdi + 0xcc]
mov rdx, qword [rdi + 0xdc]
movups xmmword [rsp + 0x60], xmm5
movdqu xmm5, xmmword [rdi + 0xac]
mov eax, dword [rdi + 0xe4]
mov qword [rsp + 0xa0], rdx
movups xmmword [rsp + 0x70], xmm5
movdqu xmm5, xmmword [rdi + 0xbc]
mov dword [rsp + 0xa8], eax
movups xmmword [rsp + 0x80], xmm5
movups xmmword [rsp + 0x90], xmm6
call fcn.696068b0
mov r11d, dword [rsi + 8]
mov rbp, qword [rsi + 0x2410]
test r11d, r11d
je 0x695fdcdd
mov r10d, dword [rdi + 0x98]
test r10d, r10d
jne 0x695fe158
pxor xmm1, xmm1
mov rcx, rbp
call fcn.69604fd0
mov r10d, dword [rbp + 0x18]
test r10d, r10d
jle 0x695fe721
lea r8d, [r10 - 1]
mov rcx, qword [rbp + 0x10]
lea rdx, [r8*8]
sub rdx, r8
lea rax, [rcx + 4]
lea r8, [rcx + rdx*8 + 0x3c]
xor ecx, ecx
nop dword [rax]
mov edx, dword [rax + 8]
add rax, 0x38
add edx, dword [rax - 0x38]
lea ecx, [rcx + rdx + 1]
cmp rax, r8
jne 0x695fdd18
mov r13, qword [rsi + 0x2410]
mov r9, qword [r13 + 0x20]
cmp ecx, dword [r13 + 0x2c]
jg 0x695fe4d0
test r9, r9
je 0x695fdfb0
test r10d, r10d
jle 0x695fdfb0
mov rax, qword [rbp + 0x10]
lea ecx, [r10 - 1]
mov rdi, qword [rbp]
movabs r12, 0x3f8000003f000000
lea rdx, [rcx*8]
movss xmm6, dword [0x69638e1c]
movss xmm5, dword [0x69638e60]
mov r10d, dword [rax + 4]
sub rdx, rcx
lea rbp, [rax + 0x38]
mov qword [rax + 0x10], r9
movups xmm4, xmmword [0x69639200]
movsxd r11, dword [rax]
lea r14, [rbp + rdx*8]
movups xmm3, xmmword [0x69639070]
test r10d, r10d
jle 0x695fdf93
nop
movsxd r8, r10d
mov rdx, r11
lea ecx, [r10 - 1]
lea r15, [r11 + r8 - 1]
shl rdx, 5
shl r15, 5
add rdx, rdi
lea r15, [rdi + r15 + 8]
cmp r9, r15
setae r15b
shl r8, 4
add r8, r9
cmp rdx, r8
setae r8b
or r15b, r8b
je 0x695fe108
cmp ecx, 3
jbe 0x695fe108
mov r15d, ecx
mov r8, r9
shr r15d, 2
shl r15, 6
add r15, r9
nop word [rax + rax]
movups xmm0, xmmword [rdx]
movups xmm8, xmmword [rdx + 0x20]
add r8, 0x40
sub rdx, 0xffffffffffffff80
movups xmm2, xmmword [rdx - 0x40]
movups xmm7, xmmword [rdx - 0x20]
movups xmm13, xmmword [rdx - 0x70]
movups xmm14, xmmword [rdx - 0x50]
movups xmm1, xmm0
movups xmm9, xmm8
movups xmm15, xmmword [rdx - 0x30]
movups xmm12, xmmword [rdx - 0x10]
movups xmm10, xmm7
shufps xmm9, xmm14, 0x88
shufps xmm1, xmm13, 0x88
shufps xmm1, xmm9, 0x88
movups xmm9, xmm2
shufps xmm8, xmm14, 0xdd
shufps xmm7, xmm12, 0xdd
shufps xmm9, xmm15, 0x88
shufps xmm10, xmm12, 0x88
shufps xmm0, xmm13, 0xdd
shufps xmm9, xmm10, 0x88
shufps xmm0, xmm8, 0x88
shufps xmm1, xmm9, 0x88
shufps xmm2, xmm15, 0xdd
shufps xmm2, xmm7, 0x88
shufps xmm0, xmm2, 0x88
movups xmm2, xmm1
movups xmm7, xmm0
unpcklps xmm2, xmm4
unpckhps xmm1, xmm4
unpcklps xmm7, xmm3
movups xmm8, xmm2
unpckhps xmm0, xmm3
unpckhps xmm2, xmm7
unpcklps xmm8, xmm7
movups xmmword [r8 - 0x30], xmm2
movups xmm2, xmm1
unpckhps xmm1, xmm0
unpcklps xmm2, xmm0
movups xmmword [r8 - 0x40], xmm8
movups xmmword [r8 - 0x20], xmm2
movups xmmword [r8 - 0x10], xmm1
cmp r8, r15
jne 0x695fde10
mov edx, ecx
and edx, 0xfffffffc
mov r15d, edx
mov r8, r15
add r15, r11
shl r15, 5
shl r8, 4
mov r15, qword [rdi + r15]
add r8, r9
mov qword [r8 + 8], r12
mov qword [r8], r15
lea r15d, [rdx + 1]
cmp r10d, r15d
jle 0x695fdf52
movsxd r15, r15d
add r15, r11
shl r15, 5
mov r15, qword [rdi + r15]
mov qword [r8 + 0x18], r12
mov qword [r8 + 0x10], r15
lea r15d, [rdx + 2]
cmp r10d, r15d
jle 0x695fdf52
movsxd r15, r15d
add edx, 3
add r15, r11
shl r15, 5
mov r15, qword [rdi + r15]
mov qword [r8 + 0x28], r12
mov qword [r8 + 0x20], r15
cmp r10d, edx
jle 0x695fdf52
movsxd rdx, edx
add r11, rdx
shl r11, 5
mov rdx, qword [rdi + r11]
mov qword [r8 + 0x38], r12
mov qword [r8 + 0x30], rdx
add rcx, 1
shl rcx, 4
add r9, rcx
sar rcx, 4
mov dword [rax + 0x18], ecx
mov qword [rax + 0x20], 0
mov dword [rax + 0x28], 0
mov rax, rbp
cmp rbp, r14
je 0x695fdfb0
mov r10d, dword [rax + 4]
movsxd r11, dword [rax]
mov qword [rax + 0x10], r9
add rbp, 0x38
test r10d, r10d
jg 0x695fddb0
xor ecx, ecx
jmp 0x695fdf61
mov r13, qword [rsi + 0x2410]
nop word [rax + rax]
movups xmm5, xmmword [rsi + rbx + 0x144]
add r13, 0x30
mov rcx, qword [rsi]
lea rdx, [rsp + 0x60]
movups xmm0, xmmword [rsp + 0x88]
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x50]
lea r9, [rsi + rbx + 0x16c]
mulps xmm0, xmm5
movups xmmword [rsp + 0x88], xmm0
movups xmm0, xmmword [rsp + 0x98]
mulps xmm0, xmm5
movdqu xmm5, xmmword [rax]
movups xmmword [rsp + 0x50], xmm5
mov eax, dword [r13 - 0x18]
mov dword [rsp + 0x38], eax
mov rax, qword [r13 - 0x20]
movups xmmword [rsp + 0x98], xmm0
movss xmm0, dword [rsi + 0x2420]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
movss dword [rsp + 0x20], xmm0
call qword [rsi + 0x50]
mov rax, qword [rsi + 0x2410]
mov ecx, dword [rax + 0x18]
test ecx, ecx
jle 0x695fe097
lea r10d, [rcx - 1]
mov r8, qword [rax + 0x10]
mov edx, dword [rsi + 0x2434]
lea rcx, [r10*8]
mov r11d, dword [rsi + 0x2430]
mov r9, r10
sub rcx, r10
lea rax, [r8 + 0x18]
lea r8, [r8 + rcx*8 + 0x50]
nop word cs:[rax + rax]
mov ecx, dword [rax]
add rax, 0x38
lea ecx, [rdx + rcx - 2]
mov edx, dword [rax - 0x28]
lea edx, [rcx + rdx - 2]
cmp r8, rax
jne 0x695fe070
lea eax, [r11 + r9*2 + 2]
mov dword [rsi + 0x2434], edx
mov dword [rsi + 0x2430], eax
movups xmm6, xmmword [rsp + 0xb0]
movups xmm7, xmmword [rsp + 0xc0]
movups xmm8, xmmword [rsp + 0xd0]
movups xmm9, xmmword [rsp + 0xe0]
movups xmm10, xmmword [rsp + 0xf0]
movups xmm11, xmmword [rsp + 0x100]
movups xmm12, xmmword [rsp + 0x110]
movups xmm13, xmmword [rsp + 0x120]
movups xmm14, xmmword [rsp + 0x130]
movups xmm15, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r10, [rcx + 1]
mov r8, r9
shl r10, 4
add r10, r9
nop word cs:[rax + rax]
movss xmm0, dword [rdx + 4]
movss xmm1, dword [rdx]
add r8, 0x10
add rdx, 0x20
movss dword [r8 - 8], xmm6
movss dword [r8 - 0x10], xmm1
movss dword [r8 - 0xc], xmm0
movss dword [r8 - 4], xmm5
cmp r8, r10
jne 0x695fe120
jmp 0x695fdf52
movss xmm7, dword [rsi + 0x2420]
mov rcx, rbp
movups xmm1, xmm7
call fcn.69604fd0
mov r12d, dword [rbp + 0x18]
test r12d, r12d
jle 0x695fe7d5
lea ecx, [r12 - 1]
pxor xmm8, xmm8
mov r8, qword [rbp + 0x10]
lea rdx, [rcx*8]
sub rdx, rcx
comiss xmm7, xmm8
lea rax, [r8 + 4]
jbe 0x695fe736
lea r9, [r8 + rdx*8 + 0x3c]
xor edx, edx
nop word cs:[rax + rax]
mov r8d, dword [rax + 8]
mov ecx, dword [rax]
add rax, 0x38
add ecx, r8d
lea edx, [rcx + rdx + 1]
lea ecx, [rcx + r8*4 + 1]
lea edx, [rdx + rcx*2]
cmp rax, r9
jne 0x695fe1b0
mov r13, qword [rsi + 0x2410]
mov rcx, qword [r13 + 0x20]
cmp dword [r13 + 0x2c], edx
jl 0x695fe757
test rcx, rcx
je 0x695fdfb0
cmp r12d, 1
je 0x695fe797
test r12d, r12d
jle 0x695fdfb0
mov r8, qword [rbp + 0x10]
mov rdx, r8
xor eax, eax
movss xmm9, dword [0x69638e1c]
movups xmm6, xmm7
movups xmm11, xmm7
movups xmm12, xmm7
mulss xmm6, xmm9
addss xmm11, xmm6
subss xmm12, xmm6
test al, al
je 0x695fe728
movups xmm11, xmm6
movups xmm15, xmm9
pxor xmm8, xmm8
movups xmm14, xmmword [0x69639200]
movups xmm13, xmmword [0x69639070]
xor r10d, r10d
nop dword [rax + rax]
lea rax, [r10*8]
mov rdi, qword [rbp]
sub rax, r10
lea r11, [rdx + rax*8]
movsxd r13, dword [r11]
mov edx, dword [r11 + 4]
mov qword [r11 + 0x10], rcx
mov r8, r13
shl r8, 5
add r8, rdi
comiss xmm7, xmm8
jbe 0x695fe510
movsxd rax, edx
shl rax, 5
lea r13, [r8 + rax - 0x20]
test edx, edx
jle 0x695fe7b8
lea edi, [rdx - 1]
mov r9, rcx
mov r12, r13
mov rax, r8
movabs r14, 0x3f8000003f000000
add rdi, 1
shl rdi, 5
add rdi, r8
jmp 0x695fe33b
and edx, 2
jne 0x695fe354
movups xmm4, xmm0
movss xmm3, dword [rax + 0xc]
lea rdx, [rax + 0x20]
add r9, 0x20
mulss xmm2, dword [r12 + 8]
mulss xmm3, xmm6
subss xmm4, xmm2
movss xmm2, dword [rax + 8]
addss xmm3, xmm1
mulss xmm2, xmm6
subss xmm0, xmm2
movss xmm2, dword [r12 + 0xc]
mov qword [r9 - 0x18], r14
mov r12, rax
movss dword [r9 - 0x1c], xmm4
mulss xmm2, xmm6
movss dword [r9 - 0x10], xmm3
movss dword [r9 - 0xc], xmm0
mov qword [r9 - 8], r14
addss xmm1, xmm2
movss dword [r9 - 0x20], xmm1
cmp rdx, rdi
je 0x695fe38a
mov rax, rdx
movzx edx, byte [rax + 0x1c]
movss xmm0, dword [rax + 4]
movups xmm2, xmm6
movss xmm1, dword [rax]
test dl, 4
jne 0x695fe2c8
mulss xmm2, dword [rax + 0x18]
lea rdx, [rax + 0x20]
add r9, 0x10
mov r12, rax
addss xmm0, xmm2
movss xmm2, dword [rax + 0x14]
mov qword [r9 - 8], r14
mulss xmm2, xmm6
movss dword [r9 - 0xc], xmm0
addss xmm1, xmm2
movss dword [r9 - 0x10], xmm1
cmp rdx, rdi
jne 0x695fe338
mov rax, r9
mov qword [r11 + 0x20], r9
xor edi, edi
mov rdx, r13
movss xmm10, dword [0x69638e60]
sub rax, rcx
mov rcx, r9
movabs r12, 0x3f8000003f800000
sar rax, 4
mov dword [r11 + 0x18], eax
jmp 0x695fe43c
movups xmm4, xmm11
movss xmm2, dword [r8]
add rcx, 0x20
add edi, 1
movss xmm3, dword [r8 + 0x14]
movss xmm1, dword [r8 + 0x18]
lea rax, [r8 + 0x20]
movss xmm0, dword [r8 + 4]
movss dword [rcx - 0x18], xmm15
mulss xmm4, xmm3
movss dword [rcx - 0x14], xmm10
mulss xmm3, xmm12
mov qword [rcx - 8], r12
addss xmm4, xmm2
subss xmm2, xmm3
movss dword [rcx - 0x20], xmm4
movups xmm4, xmm11
mulss xmm4, xmm1
movss dword [rcx - 0x10], xmm2
mulss xmm1, xmm12
addss xmm4, xmm0
subss xmm0, xmm1
movss dword [rcx - 0x1c], xmm4
movss dword [rcx - 0xc], xmm0
cmp dword [r11 + 4], edi
jle 0x695fe475
mov rdx, r8
mov r8, rax
test byte [r8 + 0x1c], 0xc
je 0x695fe3c0
movss dword [rsp + 0x30], xmm10
movups xmm3, xmm11
add edi, 1
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm12
call fcn.69604a90
mov rcx, rax
lea rax, [r8 + 0x20]
cmp dword [r11 + 4], edi
jg 0x695fe436
mov r12d, dword [rbp + 0x18]
mov rax, qword [r9]
movss dword [rcx + 8], xmm15
add rcx, 0x20
movss dword [rcx - 0x14], xmm10
mov qword [rcx - 0x20], rax
mov rax, qword [r9 + 0x10]
mov qword [rcx - 0x10], rax
movabs rax, 0x3f8000003f800000
mov qword [rcx - 8], rax
mov rax, rcx
sub rax, r9
sar rax, 4
mov dword [r11 + 0x28], eax
add r10, 1
cmp r12d, r10d
jle 0x695fdfa0
mov rdx, qword [rbp + 0x10]
jmp 0x695fe258
lea edi, [rcx + 0xff]
mov rcx, r9
xor dil, dil
movsxd rdx, edi
shl rdx, 4
call sub.msvcrt.dll_realloc
mov r13, qword [rsi + 0x2410]
mov r9, rax
test rax, rax
je 0x695fdfb0
mov qword [r13 + 0x20], rax
mov r10d, dword [rbp + 0x18]
mov dword [r13 + 0x2c], edi
jmp 0x695fdd49
test edx, edx
jle 0x695fe790
movsxd r9, edx
lea eax, [rdx - 1]
lea r13, [r13 + r9 - 1]
shl r13, 5
lea rdi, [rdi + r13 + 8]
cmp rcx, rdi
setae dil
shl r9, 4
add r9, rcx
cmp r8, r9
setae r9b
or dil, r9b
je 0x695fe6e0
cmp eax, 3
jbe 0x695fe6e0
mov r13d, eax
mov rdi, rcx
mov r9, r8
movss dword [rsp + 0x4c], xmm6
shr r13d, 2
shl r13, 6
add r13, rcx
nop dword [rax]
movups xmm0, xmmword [r9]
movups xmm4, xmmword [r9 + 0x20]
add rdi, 0x40
sub r9, 0xffffffffffffff80
movups xmm5, xmmword [r9 - 0x70]
movups xmm10, xmmword [r9 - 0x50]
movups xmm1, xmm0
movups xmm2, xmmword [r9 - 0x40]
movups xmm3, xmmword [r9 - 0x20]
shufps xmm1, xmm5, 0x88
movups xmm5, xmm4
movups xmm6, xmmword [r9 - 0x10]
shufps xmm5, xmm10, 0x88
movups xmm10, xmmword [r9 - 0x30]
shufps xmm1, xmm5, 0x88
movups xmm5, xmm2
shufps xmm5, xmm10, 0x88
movups xmm10, xmm3
shufps xmm10, xmm6, 0x88
movups xmm6, xmmword [r9 - 0x70]
shufps xmm5, xmm10, 0x88
shufps xmm1, xmm5, 0x88
movups xmm5, xmmword [r9 - 0x30]
shufps xmm0, xmm6, 0xdd
movups xmm6, xmmword [r9 - 0x50]
shufps xmm2, xmm5, 0xdd
shufps xmm4, xmm6, 0xdd
movups xmm6, xmmword [r9 - 0x10]
shufps xmm0, xmm4, 0x88
shufps xmm3, xmm6, 0xdd
shufps xmm2, xmm3, 0x88
shufps xmm0, xmm2, 0x88
movups xmm2, xmm1
movups xmm3, xmm0
unpcklps xmm2, xmm14
unpckhps xmm1, xmm14
unpcklps xmm3, xmm13
movups xmm4, xmm2
unpckhps xmm0, xmm13
unpckhps xmm2, xmm3
unpcklps xmm4, xmm3
movups xmmword [rdi - 0x30], xmm2
movups xmm2, xmm1
unpckhps xmm1, xmm0
unpcklps xmm2, xmm0
movups xmmword [rdi - 0x40], xmm4
movups xmmword [rdi - 0x20], xmm2
movups xmmword [rdi - 0x10], xmm1
cmp rdi, r13
jne 0x695fe570
mov r13d, eax
movss xmm6, dword [rsp + 0x4c]
and r13d, 0xfffffffc
mov edi, r13d
lea r15d, [r13 + 1]
mov r9, rdi
shl rdi, 5
mov r14, qword [r8 + rdi]
shl r9, 4
add r9, rcx
mov qword [r9], r14
movabs r14, 0x3f8000003f000000
mov qword [r9 + 8], r14
cmp r15d, edx
jge 0x695fe6b2
mov r15, qword [r8 + rdi + 0x20]
mov qword [r9 + 0x18], r14
mov qword [r9 + 0x10], r15
lea r15d, [r13 + 2]
cmp r15d, edx
jge 0x695fe6b2
mov r15, qword [r8 + rdi + 0x40]
add r13d, 3
mov qword [r9 + 0x28], r14
mov qword [r9 + 0x20], r15
cmp r13d, edx
jge 0x695fe6b2
mov rdx, qword [r8 + rdi + 0x60]
mov qword [r9 + 0x38], r14
mov qword [r9 + 0x30], rdx
add rax, 1
shl rax, 4
add rcx, rax
sar rax, 4
mov dword [r11 + 0x18], eax
mov qword [r11 + 0x20], 0
mov dword [r11 + 0x28], 0
jmp 0x695fe4b4
lea r9, [rax + 1]
mov rdx, rcx
shl r9, 4
add r9, rcx
nop
movss xmm0, dword [r8 + 4]
movss xmm1, dword [r8]
add rdx, 0x10
add r8, 0x20
movss dword [rdx - 8], xmm9
movss dword [rdx - 0x10], xmm1
movss dword [rdx - 0xc], xmm0
mov dword [rdx - 4], 0x3f800000
cmp rdx, r9
jne 0x695fe6f0
jmp 0x695fe6b2
xor ecx, ecx
jmp 0x695fdd2b
pxor xmm8, xmm8
movups xmm15, xmm8
jmp 0x695fe240
lea r8, [r8 + rdx*8 + 0x3c]
xor edx, edx
nop dword [rax]
mov ecx, dword [rax]
add rax, 0x38
add ecx, dword [rax - 0x30]
lea edx, [rdx + rcx + 1]
cmp rax, r8
jne 0x695fe740
jmp 0x695fe1ce
lea edi, [rdx + 0xff]
xor dil, dil
movsxd rdx, edi
shl rdx, 4
call sub.msvcrt.dll_realloc
mov r13, qword [rsi + 0x2410]
mov rcx, rax
test rax, rax
je 0x695fdfb0
mov qword [r13 + 0x20], rax
mov r12d, dword [rbp + 0x18]
mov dword [r13 + 0x2c], edi
jmp 0x695fe1ec
xor eax, eax
jmp 0x695fe6c1
mov r8, qword [rbp + 0x10]
mov eax, 1
mov r9d, dword [r8 + 0x30]
mov rdx, r8
test r9d, r9d
jne 0x695fe208
jmp 0x695fe203
movss xmm10, dword [0x69638e60]
mov dword [r11 + 0x18], 0
mov r9, rcx
mov qword [r11 + 0x20], rcx
jmp 0x695fe479
xor edx, edx
jmp 0x695fe1ce