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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x150
mov rdi, qword [rsp + 0x1c8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x140], xmm6
movsd xmm6, qword [0x1404538b8]
mov r9d, dword [rdi + 0x28]
mov eax, r9d
and eax, 0xffffc000
mov r15d, dword [rdi + 0x30]
mov r8d, dword [rdi + 0x2c]
cdq
mov r11d, dword [rdi + 0x34]
and edx, 0x3fff
add eax, edx
movsxd rbx, dword [rdi + 0x98]
sar eax, 0xe
movsxd r10, dword [rdi + 0x9c]
movsxd r14, eax
lea eax, [r15 - 1]
or eax, 0x3fff
mov dword [rsp + 0x88], ebx
inc eax
mov dword [rsp + 0x84], r14d
cdq
and edx, 0x3fff
lea ebp, [rdx + rax]
mov eax, r8d
and eax, 0xffffc000
sar ebp, 0xe
cdq
mov dword [rsp + 0x70], ebp
and edx, 0x3fff
mov ecx, ebp
shl ecx, 0xe
lea esi, [rdx + rax]
lea eax, [r11 - 1]
sar esi, 0xe
or eax, 0x3fff
mov dword [rsp + 0x44], esi
inc eax
cdq
and edx, 0x3fff
lea r12d, [rdx + rax]
mov eax, r15d
sub eax, ecx
sar r12d, 0xe
add eax, 0x4000
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x68], eax
sub r15d, r9d
mov eax, r11d
mov ecx, r12d
shl ecx, 0xe
sub eax, ecx
mov ecx, ebp
add eax, 0x4000
sub ecx, r14d
mov dword [rsp + 0x7c], eax
mov rax, r10
imul rax, rbx
mov ebx, dword [rdi + 0x74]
cqo
mov dword [rsp + 0x2c], ebx
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
cvtsi2sd xmm0, rax
lea eax, [r14 + 1]
shl eax, 0xe
sub eax, r9d
cmp ecx, 2
mov ecx, r12d
cmovge r15d, eax
sub ecx, esi
sub r11d, r8d
mov dword [rsp + 0x80], r15d
lea eax, [rsi + 1]
shl eax, 0xe
sub eax, r8d
cmp ecx, 2
divsd xmm6, xmm0
cmovge r11d, eax
mov dword [rsp + 0x28], r11d
cmp esi, r12d
jge 0x1402697a1
movsd xmm5, qword [0x14045dee0]
mov rdx, r14
mov qword [rsp + 0x180], r13
movaps xmmword [rsp + 0x130], xmm7
movsd xmm7, qword [0x140453708]
movaps xmmword [rsp + 0x120], xmm8
movsd xmm8, qword [0x140451a60]
movaps xmmword [rsp + 0x110], xmm9
movaps xmmword [rsp + 0x100], xmm10
movaps xmmword [rsp + 0xf0], xmm11
movaps xmmword [rsp + 0xe0], xmm12
movaps xmmword [rsp + 0xd0], xmm13
movd xmm13, r10d
shl rdx, 2
cvtdq2pd xmm13, xmm13
mov qword [rsp + 0x98], rdx
nop dword [rax + rax]
mov eax, dword [rdi + 0x18]
mov r8d, r15d
mov r10d, dword [rdi + 0x70]
imul eax, esi
movd xmm11, r11d
cvtdq2pd xmm11, xmm11
mov dword [rsp + 0x1c], r15d
mov dword [rsp + 0x20], r10d
movsxd rcx, eax
mov eax, ebx
add rcx, rdx
and eax, 0xffffc000
add rcx, qword [rdi + 0x10]
cdq
and edx, 0x3fff
mov qword [rsp + 0x48], rcx
movaps xmm9, xmm11
mulsd xmm9, xmm13
lea r15d, [rdx + rax]
sar r15d, 0xe
mov dword [rsp + 0x50], r15d
movaps xmm0, xmm9
mulsd xmm0, xmm5
lea ecx, [r15 + 1]
shl ecx, 0xe
sub ecx, ebx
cvttsd2si r11d, xmm0
mov r14d, r11d
mov dword [rsp + 0x60], r11d
lea r13d, [r11 + rbx]
lea eax, [r13 - 1]
mov dword [rsp + 0x74], r13d
or eax, 0x3fff
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov edx, eax
mov r9d, eax
shl edx, 0xe
sub r9d, r15d
sub r14d, edx
mov dword [rsp + 0x34], r9d
add r14d, 0x4000
mov edx, r11d
add r14d, ebx
cmp r9d, 2
mov dword [rsp + 0x24], r14d
cmovge edx, ecx
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x40], ecx
cmp ecx, ebp
jge 0x14026970e
movd xmm12, dword [rsp + 0x88]
lea r12d, [rax - 1]
lea eax, [rbp - 2]
movd xmm10, edx
lea r13d, [r15 + 1]
mov dword [rsp + 0x64], eax
cvtdq2pd xmm12, xmm12
mov dword [rsp + 0x3c], r13d
mov dword [rsp], r12d
cvtdq2pd xmm10, xmm10
nop word [rax + rax]
movd xmm3, r8d
mov eax, r10d
and eax, 0xffffc000
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd r9, eax
cvtdq2pd xmm3, xmm3
mov dword [rsp + 0x54], r9d
mov r15, r9
mov qword [rsp + 0x90], r9
lea ecx, [r9 + 1]
shl ecx, 0xe
sub ecx, r10d
movaps xmm4, xmm3
mulsd xmm4, xmm12
movaps xmm0, xmm4
mulsd xmm0, xmm5
cvttsd2si r8d, xmm0
mov esi, r8d
mov dword [rsp + 0x5c], r8d
lea eax, [r8 + r10]
mov dword [rsp + 0x6c], eax
dec eax
or eax, 0x3fff
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov edx, eax
mov dword [rsp + 0x10], eax
shl edx, 0xe
mov ebp, eax
sub esi, edx
mov edx, eax
add esi, 0x4000
sub edx, r9d
add esi, r10d
mov dword [rsp + 0x14], edx
cmp edx, 2
mov dword [rsp + 0x18], esi
mov eax, r8d
cmovge eax, ecx
xor r8d, r8d
mov dword [rsp + 0x38], eax
mov r10d, r8d
mov r11d, r8d
mov ebx, r8d
cmp r13d, r12d
jge 0x140269130
mov rcx, qword [rsp + 0x1c8]
lea eax, [rbp - 1]
movsxd rsi, eax
lea rdi, [r9 + 1]
mov ebp, r12d
movsxd rax, dword [rcx + 0x60]
mov r14, rax
imul eax, r13d
movsxd r9, eax
add r9, qword [rcx + 0x58]
sub ebp, r13d
cmp rdi, rsi
jge 0x140269116
lea rcx, [rdi*4 + 2]
mov rdx, rsi
add rcx, r9
sub rdx, r15
dec rdx
nop dword [rax + rax]
movzx eax, byte [rcx - 2]
lea rcx, [rcx + 4]
shl rax, 0xe
add r8, rax
movzx eax, byte [rcx - 5]
shl rax, 0xe
add r10, rax
movzx eax, byte [rcx - 4]
shl rax, 0xe
add r11, rax
movzx eax, byte [rcx - 3]
shl rax, 0xe
add rbx, rax
sub rdx, 1
jne 0x1402690e0
add r9, r14
sub rbp, 1
jne 0x1402690c2
mov esi, dword [rsp + 0x18]
mov r14d, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x1c8]
mov r15d, dword [rdi + 0x60]
movaps xmm0, xmm10
mov r12, qword [rdi + 0x58]
mov eax, r15d
imul eax, dword [rsp + 0x50]
movd xmm2, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x90]
movsxd rdi, dword [rsp + 0x10]
cvtdq2pd xmm2, xmm2
movsxd r13, eax
lea rdx, [rbp*4]
mov dword [rsp + 0x30], r15d
add rdx, r13
mov qword [rsp + 8], r12
add rdx, r12
mulsd xmm0, xmm2
movzx eax, byte [rdx]
mulsd xmm0, xmm5
cvttsd2si ecx, xmm0
imul eax, ecx
movsxd r9, eax
movzx eax, byte [rdx + 1]
add r9, r8
imul eax, ecx
cdqe
add r10, rax
movzx eax, byte [rdx + 2]
imul eax, ecx
cdqe
add r11, rax
movzx eax, byte [rdx + 3]
imul eax, ecx
cdqe
add rbx, rax
cmp dword [rsp + 0x14], 1
jle 0x140269215
movd xmm0, esi
lea r8, [rdi*4]
add r8, r13
cvtdq2pd xmm0, xmm0
movzx eax, byte [r8 + r12 - 4]
mulsd xmm0, xmm10
mulsd xmm0, xmm5
cvttsd2si edx, xmm0
imul eax, edx
movsxd rcx, eax
movzx eax, byte [r8 + r12 - 3]
add r9, rcx
imul eax, edx
movsxd rcx, eax
movzx eax, byte [r8 + r12 - 2]
add r10, rcx
imul eax, edx
movsxd rcx, eax
movzx eax, byte [r8 + r12 - 1]
add r11, rcx
imul eax, edx
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x34], 1
jle 0x1402692e6
mov eax, dword [rsp]
imul eax, r15d
movd xmm1, r14d
cvtdq2pd xmm1, xmm1
movsxd r8, eax
lea rdx, [r8 + rbp*4]
movaps xmm0, xmm1
add rdx, r12
mulsd xmm0, xmm2
movzx eax, byte [rdx]
mulsd xmm0, xmm5
cvttsd2si ecx, xmm0
imul eax, ecx
cdqe
add r9, rax
movzx eax, byte [rdx + 1]
imul eax, ecx
mov rsi, r9
cdqe
add r10, rax
movzx eax, byte [rdx + 2]
imul eax, ecx
mov rbp, r10
cdqe
add r11, rax
movzx eax, byte [rdx + 3]
imul eax, ecx
mov r14, r11
cdqe
add rbx, rax
cmp dword [rsp + 0x14], 1
mov r15, rbx
jle 0x1402692e1
movd xmm0, dword [rsp + 0x18]
lea rdx, [r8 + rdi*4]
movzx eax, byte [rdx + r12 - 4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
mulsd xmm0, xmm5
cvttsd2si ecx, xmm0
imul eax, ecx
movsxd r9, eax
movzx eax, byte [rdx + r12 - 3]
add r9, rsi
imul eax, ecx
movsxd r10, eax
movzx eax, byte [rdx + r12 - 2]
add r10, rbp
imul eax, ecx
movsxd r11, eax
movzx eax, byte [rdx + r12 - 1]
add r11, r14
imul eax, ecx
movsxd rbx, eax
add rbx, r15
mov r15d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x10]
inc eax
movsxd rsi, eax
lea eax, [rcx - 1]
movsxd rdi, eax
cmp rsi, rdi
jge 0x1402693d1
mov eax, dword [rsp]
lea rcx, [rsi*4]
imul eax, r15d
lea r8, [r12 + r13]
add r8, rcx
movsxd rdx, eax
add rdx, r12
mov r12d, dword [rsp + 0x24]
add rdx, rcx
sub rdi, rsi
nop dword [rax]
mov r14d, dword [rsp + 0x58]
movzx eax, byte [r8]
imul eax, r14d
cdqe
add r9, rax
movzx eax, byte [r8 + 1]
imul eax, r14d
mov rcx, r9
cdqe
add r10, rax
movzx eax, byte [r8 + 2]
imul eax, r14d
mov rsi, r10
cdqe
add r11, rax
movzx eax, byte [r8 + 3]
imul eax, r14d
mov rbp, r11
cdqe
add rbx, rax
cmp dword [rsp + 0x34], 1
mov r14, rbx
jle 0x1402693b6
movzx eax, byte [rdx]
imul eax, r12d
movsxd r9, eax
movzx eax, byte [rdx + 1]
add r9, rcx
imul eax, r12d
movsxd r10, eax
movzx eax, byte [rdx + 2]
add r10, rsi
imul eax, r12d
movsxd r11, eax
movzx eax, byte [rdx + 3]
add r11, rbp
imul eax, r12d
movsxd rbx, eax
add rbx, r14
add r8, 4
add rdx, 4
sub rdi, 1
jne 0x140269330
mov r12, qword [rsp + 8]
mov ecx, dword [rsp + 0x10]
mov r13d, dword [rsp + 0x3c]
mov edx, r13d
cmp r13d, dword [rsp]
jge 0x1402694ac
mov edi, r15d
movsxd r13, ecx
imul edi, edx
nop dword [rax]
mov r15d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x90]
movsxd r8, edi
lea rcx, [r12 + rax*4]
add rcx, r8
movzx eax, byte [rcx]
imul eax, r15d
cdqe
add r9, rax
movzx eax, byte [rcx + 1]
imul eax, r15d
mov rsi, r9
cdqe
add r10, rax
movzx eax, byte [rcx + 2]
imul eax, r15d
mov rbp, r10
cdqe
add r11, rax
movzx eax, byte [rcx + 3]
imul eax, r15d
mov r14, r11
cdqe
add rbx, rax
cmp dword [rsp + 0x14], 1
mov r15, rbx
jle 0x140269491
mov ebx, dword [rsp + 0x18]
lea rcx, [r12 + r13*4]
movzx eax, byte [rcx + r8 - 4]
imul eax, ebx
movsxd r9, eax
movzx eax, byte [rcx + r8 - 3]
add r9, rsi
imul eax, ebx
movsxd r10, eax
movzx eax, byte [rcx + r8 - 2]
add r10, rbp
imul eax, ebx
movsxd r11, eax
movzx eax, byte [rcx + r8 - 1]
add r11, r14
imul eax, ebx
movsxd rbx, eax
add rbx, r15
mov rax, qword [rsp + 0x1c8]
inc edx
add edi, dword [rax + 0x60]
cmp edx, dword [rsp]
jl 0x1402693f0
mov r13d, dword [rsp + 0x3c]
cmp dword [rsp + 0x1c], 0x4000
jne 0x1402694c4
cmp dword [rsp + 0x28], 0x4000
je 0x140269606
cmp dword [rsp + 0x1d8], 0
jne 0x140269606
movsxd rax, dword [rsp + 0x5c]
movsxd rcx, dword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
imul rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
mov rdi, rax
test rax, rax
jle 0x14026969a
movzx r8d, byte [r14]
mulsd xmm3, xmm11
mulsd xmm3, xmm5
cvttsd2si ecx, xmm3
imul eax, ecx, 0xff
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movzx esi, al
mov rax, r9
cqo
mov r9d, 0xff
idiv rdi
movzx ecx, al
sub ecx, r8d
imul ecx, esi
sub ecx, 0xffffff80
mov eax, ecx
sar eax, 8
add eax, ecx
sar eax, 8
add eax, r8d
jns 0x140269553
xor eax, eax
jmp 0x14026955a
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 1]
mov byte [r14], al
mov rax, r10
cqo
idiv rdi
movzx ecx, al
sub ecx, r8d
imul ecx, esi
sub ecx, 0xffffff80
mov eax, ecx
sar eax, 8
add eax, ecx
sar eax, 8
add eax, r8d
jns 0x140269589
xor eax, eax
jmp 0x140269590
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 2]
mov byte [r14 + 1], al
mov rax, r11
cqo
idiv rdi
movzx ecx, al
sub ecx, r8d
imul ecx, esi
sub ecx, 0xffffff80
mov eax, ecx
sar eax, 8
add eax, ecx
sar eax, 8
add eax, r8d
jns 0x1402695c0
xor eax, eax
jmp 0x1402695c7
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 3]
mov byte [r14 + 2], al
mov rax, rbx
cqo
idiv rdi
movzx ecx, al
sub ecx, r8d
imul ecx, esi
sub ecx, 0xffffff80
mov eax, ecx
sar eax, 8
add eax, ecx
sar eax, 8
add eax, r8d
jns 0x1402695fa
xor eax, eax
jmp 0x140269696
cmp eax, r9d
cmovg eax, r9d
jmp 0x140269696
mov r14, qword [rsp + 0x48]
xorps xmm0, xmm0
cvtsi2sd xmm0, r9
mulsd xmm0, xmm6
addsd xmm0, xmm7
addsd xmm0, xmm8
movsd qword [rsp + 8], xmm0
xorps xmm0, xmm0
movzx eax, byte [rsp + 8]
cvtsi2sd xmm0, r10
mov byte [r14], al
mulsd xmm0, xmm6
addsd xmm0, xmm7
addsd xmm0, xmm8
movsd qword [rsp + 8], xmm0
xorps xmm0, xmm0
movzx eax, byte [rsp + 8]
cvtsi2sd xmm0, r11
mov byte [r14 + 1], al
mulsd xmm0, xmm6
addsd xmm0, xmm7
addsd xmm0, xmm8
movsd qword [rsp + 8], xmm0
xorps xmm0, xmm0
movzx eax, byte [rsp + 8]
cvtsi2sd xmm0, rbx
mov byte [r14 + 2], al
mulsd xmm0, xmm6
addsd xmm0, xmm7
addsd xmm0, xmm8
movsd qword [rsp + 8], xmm0
movzx eax, byte [rsp + 8]
mov byte [r14 + 3], al
mov edi, dword [rsp + 0x40]
add r14, 4
mov qword [rsp + 0x48], r14
cmp edi, dword [rsp + 0x64]
jne 0x1402696c4
mov r10d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x68]
mulsd xmm4, xmm5
cvttsd2si eax, xmm4
add r10d, eax
jmp 0x1402696cf
mov r10d, dword [rsp + 0x6c]
mov r8d, 0x4000
mov ebp, dword [rsp + 0x70]
inc edi
mov r14d, dword [rsp + 0x24]
cmp edi, ebp
mov r12d, dword [rsp]
mov dword [rsp + 0x40], edi
mov rdi, qword [rsp + 0x1c8]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x1c], r8d
jl 0x140268fe0
mov ebx, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x74]
mov r12d, dword [rsp + 0x78]
lea eax, [r12 - 2]
cmp esi, eax
jne 0x14026972a
mov r11d, dword [rsp + 0x7c]
mulsd xmm9, xmm5
cvttsd2si eax, xmm9
add ebx, eax
jmp 0x140269733
mov r11d, 0x4000
mov ebx, r13d
mov r15d, dword [rsp + 0x80]
inc esi
mov rdx, qword [rsp + 0x98]
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x44], esi
cmp esi, r12d
jl 0x140268ed0
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm12, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
mov r13, qword [rsp + 0x180]
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret