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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x130
mov r12, qword [rsp + 0x1a8]
movsd xmm5, qword [0x14045dee0]
movaps xmmword [rsp + 0x120], xmm6
movsd xmm6, qword [0x1404538b8]
mov r9d, dword [r12 + 0x28]
mov eax, r9d
mov esi, dword [r12 + 0x30]
and eax, 0xffffc000
mov r8d, dword [r12 + 0x2c]
cdq
mov r10d, dword [r12 + 0x34]
and edx, 0x3fff
add eax, edx
movaps xmmword [rsp + 0xc0], xmm12
movd xmm12, dword [r12 + 0x98]
sar eax, 0xe
movsxd rbx, eax
lea eax, [rsi - 1]
or eax, 0x3fff
movaps xmmword [rsp + 0xb0], xmm13
movd xmm13, dword [r12 + 0x9c]
inc eax
cdq
mov dword [rsp + 0x98], ebx
and edx, 0x3fff
cvtdq2pd xmm12, xmm12
lea edi, [rdx + rax]
mov eax, r8d
and eax, 0xffffc000
sar edi, 0xe
cdq
mov dword [rsp + 0x44], edi
and edx, 0x3fff
mov ecx, edi
shl ecx, 0xe
movaps xmm0, xmm12
cvtdq2pd xmm13, xmm13
lea r11d, [rdx + rax]
sar r11d, 0xe
lea eax, [r10 - 1]
or eax, 0x3fff
mov dword [rsp + 0x48], r11d
inc eax
cdq
and edx, 0x3fff
mulsd xmm0, xmm13
lea r13d, [rdx + rax]
mov eax, esi
sub eax, ecx
sar r13d, 0xe
add eax, 0x4000
mulsd xmm0, xmm5
mov dword [rsp + 0x78], eax
sub esi, r9d
mov eax, r10d
mov dword [rsp + 0x84], r13d
mov ecx, r13d
shl ecx, 0xe
sub eax, ecx
mov ecx, edi
add eax, 0x4000
sub ecx, ebx
mov dword [rsp + 0x88], eax
cvttsd2si eax, xmm0
movd xmm0, eax
lea eax, [rbx + 1]
shl eax, 0xe
sub eax, r9d
mov r9d, dword [r12 + 0x74]
cmp ecx, 2
mov dword [rsp + 0x34], r9d
cvtdq2pd xmm0, xmm0
cmovge esi, eax
mov ecx, r13d
lea eax, [r11 + 1]
mov dword [rsp + 0x8c], esi
shl eax, 0xe
sub ecx, r11d
sub eax, r8d
sub r10d, r8d
divsd xmm6, xmm0
cmp ecx, 2
cmovge r10d, eax
mov dword [rsp + 0x30], r10d
cmp r11d, r13d
jge 0x140268cc2
mov qword [rsp + 0x160], rbp
mov rdx, rbx
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x170], r15
movaps xmmword [rsp + 0x110], xmm7
movsd xmm7, qword [0x140453708]
movaps xmmword [rsp + 0x100], xmm8
movsd xmm8, qword [0x140451a60]
movaps xmmword [rsp + 0xf0], xmm9
shl rdx, 2
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xd0], xmm11
mov qword [rsp + 0xa0], rdx
mov eax, dword [r12 + 0x18]
mov r8d, esi
mov ebx, dword [r12 + 0x70]
imul eax, r11d
movd xmm11, r10d
cvtdq2pd xmm11, xmm11
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x24], ebx
movsxd rcx, eax
mov eax, r9d
add rcx, rdx
and eax, 0xffffc000
add rcx, qword [r12 + 0x10]
cdq
and edx, 0x3fff
mov qword [rsp + 0x50], rcx
movaps xmm9, xmm11
mulsd xmm9, xmm13
lea ebp, [rdx + rax]
sar ebp, 0xe
mov dword [rsp + 0x90], ebp
movaps xmm0, xmm9
mulsd xmm0, xmm5
lea ecx, [rbp + 1]
shl ecx, 0xe
sub ecx, r9d
cvttsd2si r10d, xmm0
mov r14d, r10d
mov dword [rsp + 0x70], r10d
lea r15d, [r10 + r9]
lea eax, [r15 - 1]
mov dword [rsp + 0x80], r15d
or eax, 0x3fff
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov edx, eax
mov esi, eax
shl edx, 0xe
sub esi, ebp
sub r14d, edx
mov dword [rsp + 0x2c], esi
add r14d, 0x4000
mov edx, r10d
add r14d, r9d
cmp esi, 2
mov dword [rsp + 0x28], r14d
cmovge edx, ecx
mov ecx, dword [rsp + 0x98]
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x40], ecx
cmp ecx, edi
jge 0x140268c2b
lea r10d, [rax - 1]
movd xmm10, edx
lea eax, [rdi - 2]
mov dword [rsp], r10d
inc ebp
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x3c], ebp
cvtdq2pd xmm10, xmm10
nop dword [rax]
movd xmm3, r8d
mov eax, ebx
and eax, 0xffffc000
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd r8, eax
cvtdq2pd xmm3, xmm3
mov dword [rsp + 0x10], r8d
mov r15, r8
lea ecx, [r8 + 1]
shl ecx, 0xe
sub ecx, ebx
movaps xmm4, xmm3
mulsd xmm4, xmm12
movaps xmm0, xmm4
mulsd xmm0, xmm5
cvttsd2si r11d, xmm0
mov r13d, r11d
mov dword [rsp + 0x6c], r11d
lea eax, [r11 + rbx]
mov dword [rsp + 0x7c], eax
dec eax
or eax, 0x3fff
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov edx, eax
mov dword [rsp + 0x14], eax
shl edx, 0xe
mov r9d, eax
sub r13d, edx
mov edx, eax
add r13d, 0x4000
sub edx, r8d
add r13d, ebx
mov dword [rsp + 0x1c], edx
mov eax, r11d
mov dword [rsp + 0x68], r13d
cmp edx, 2
cmovge eax, ecx
mov dword [rsp + 0x18], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov r11d, eax
mov qword [rsp + 0x60], rax
cmp ebp, r10d
jge 0x140268686
movsxd rcx, dword [r12 + 0x60]
lea eax, [r9 - 1]
mov r9d, dword [rsp + 0x58]
lea rdi, [r8 + 1]
mov r8d, dword [rsp + 0x64]
mov r14, rcx
movsxd rsi, eax
mov eax, ebp
imul eax, ecx
movsxd rbx, eax
mov eax, r10d
add rbx, qword [r12 + 0x58]
mov r10d, dword [rsp + 0x5c]
sub eax, ebp
mov ebp, eax
nop dword [rax + rax]
cmp rdi, rsi
jge 0x140268672
lea rcx, [rdi*4 + 2]
mov rdx, rsi
add rcx, rbx
sub rdx, r15
dec rdx
nop dword [rax]
movzx eax, byte [rcx - 2]
lea rcx, [rcx + 4]
shl eax, 0xe
add r9d, eax
movzx eax, byte [rcx - 5]
shl eax, 0xe
add r10d, eax
movzx eax, byte [rcx - 4]
shl eax, 0xe
add r11d, eax
movzx eax, byte [rcx - 3]
shl eax, 0xe
add r8d, eax
sub rdx, 1
jne 0x140268640
add rbx, r14
sub rbp, 1
jne 0x140268620
mov r14d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x2c]
jmp 0x140268695
mov r8d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x58]
mov r15d, dword [r12 + 0x60]
mov eax, dword [rsp + 0x90]
movd xmm2, dword [rsp + 0x18]
mov rdi, qword [rsp + 0x1a8]
imul eax, r15d
cvtdq2pd xmm2, xmm2
mov dword [rsp + 0x38], r15d
mov rdi, qword [rdi + 0x58]
mov qword [rsp + 8], rdi
movsxd r12, eax
movsxd rax, dword [rsp + 0x10]
mov rbp, rax
movaps xmm0, xmm2
mulsd xmm0, xmm10
lea rdx, [r12 + rax*4]
add rdx, rdi
mulsd xmm0, xmm5
movzx eax, byte [rdx]
movzx ebx, byte [rdx + 3]
cvttsd2si ecx, xmm0
imul eax, ecx
imul ebx, ecx
add r9d, eax
movzx eax, byte [rdx + 1]
imul eax, ecx
add ebx, r8d
movsxd r8, dword [rsp + 0x14]
add r10d, eax
movzx eax, byte [rdx + 2]
imul eax, ecx
add r11d, eax
cmp dword [rsp + 0x1c], 1
jle 0x14026875f
lea rdx, [r12 + r8*4]
movd xmm0, r13d
movzx eax, byte [rdx + rdi - 4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm10
mulsd xmm0, xmm5
cvttsd2si ecx, xmm0
imul eax, ecx
add r9d, eax
movzx eax, byte [rdx + rdi - 3]
imul eax, ecx
add r10d, eax
movzx eax, byte [rdx + rdi - 2]
imul eax, ecx
add r11d, eax
movzx eax, byte [rdx + rdi - 1]
imul eax, ecx
add ebx, eax
cmp esi, 1
jle 0x140268815
mov eax, dword [rsp]
imul eax, r15d
movd xmm1, r14d
cvtdq2pd xmm1, xmm1
movsxd rsi, eax
lea rdx, [rsi + rbp*4]
mulsd xmm2, xmm1
add rdx, rdi
movzx eax, byte [rdx]
mulsd xmm2, xmm5
cvttsd2si ecx, xmm2
imul eax, ecx
add r9d, eax
movzx eax, byte [rdx + 1]
imul eax, ecx
mov ebp, r9d
add r10d, eax
movzx eax, byte [rdx + 2]
imul eax, ecx
mov r14d, r10d
add r11d, eax
movzx eax, byte [rdx + 3]
imul eax, ecx
mov r15d, r11d
add ebx, eax
cmp dword [rsp + 0x1c], 1
mov edx, ebx
jle 0x140268810
lea rcx, [rsi + r8*4]
movd xmm0, r13d
movzx r9d, byte [rcx + rdi - 4]
movzx r10d, byte [rcx + rdi - 3]
movzx r11d, byte [rcx + rdi - 2]
movzx ebx, byte [rcx + rdi - 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
mulsd xmm0, xmm5
cvttsd2si eax, xmm0
imul r9d, eax
imul r10d, eax
imul r11d, eax
imul ebx, eax
add r9d, ebp
add r10d, r14d
add r11d, r15d
add ebx, edx
mov r15d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x10]
mov r8d, dword [rsp + 0x14]
lea eax, [rcx + 1]
movsxd rbp, eax
lea eax, [r8 - 1]
movsxd rsi, eax
cmp rbp, rsi
jge 0x1402688f7
mov r13d, dword [rsp + 0x2c]
lea rcx, [rbp*4]
lea r8, [rcx + rdi]
mov eax, r15d
imul eax, dword [rsp]
add r8, r12
mov r12d, dword [rsp + 0x94]
movsxd rdx, eax
add rdx, rcx
add rdx, rdi
mov edi, dword [rsp + 0x28]
sub rsi, rbp
nop word [rax + rax]
movzx eax, byte [r8]
imul eax, r12d
add r9d, eax
movzx eax, byte [r8 + 1]
imul eax, r12d
mov ecx, r9d
add r10d, eax
movzx eax, byte [r8 + 2]
imul eax, r12d
mov ebp, r10d
add r11d, eax
movzx eax, byte [r8 + 3]
imul eax, r12d
mov r14d, r11d
add ebx, eax
mov eax, ebx
cmp r13d, 1
jle 0x1402688db
movzx r9d, byte [rdx]
movzx r10d, byte [rdx + 1]
movzx r11d, byte [rdx + 2]
movzx ebx, byte [rdx + 3]
imul r9d, edi
imul r10d, edi
imul r11d, edi
imul ebx, edi
add r9d, ecx
add r10d, ebp
add r11d, r14d
add ebx, eax
add r8, 4
add rdx, 4
sub rsi, 1
jne 0x140268870
mov rdi, qword [rsp + 8]
mov ecx, dword [rsp + 0x10]
mov r8d, dword [rsp + 0x14]
mov ebp, dword [rsp + 0x3c]
mov edx, ebp
cmp ebp, dword [rsp]
jge 0x1402689c0
movsxd r12, r8d
mov r8d, r15d
movsxd r13, ecx
imul r8d, edx
lea r13, [r13*4]
nop dword [rax + rax]
mov r15d, dword [rsp + 0x18]
movsxd rsi, r8d
lea rcx, [rsi + rdi]
add rcx, r13
movzx eax, byte [rcx]
imul eax, r15d
add r9d, eax
movzx eax, byte [rcx + 1]
imul eax, r15d
mov ebp, r9d
add r10d, eax
movzx eax, byte [rcx + 2]
imul eax, r15d
mov r14d, r10d
add r11d, eax
movzx eax, byte [rcx + 3]
imul eax, dword [rsp + 0x18]
mov r15d, r11d
add ebx, eax
cmp dword [rsp + 0x1c], 1
mov ecx, ebx
jle 0x1402689a5
lea rax, [rsi + r12*4]
mov esi, dword [rsp + 0x68]
movzx r9d, byte [rax + rdi - 4]
movzx r10d, byte [rax + rdi - 3]
movzx r11d, byte [rax + rdi - 2]
movzx ebx, byte [rax + rdi - 1]
imul r9d, esi
imul r10d, esi
imul r11d, esi
imul ebx, esi
add r9d, ebp
add r10d, r14d
add r11d, r15d
add ebx, ecx
mov rax, qword [rsp + 0x1a8]
inc edx
add r8d, dword [rax + 0x60]
cmp edx, dword [rsp]
jl 0x140268920
mov ebp, dword [rsp + 0x3c]
cmp dword [rsp + 0x20], 0x4000
jne 0x1402689d8
cmp dword [rsp + 0x30], 0x4000
je 0x140268b1a
cmp dword [rsp + 0x1b8], 0
jne 0x140268b1a
movsxd rax, dword [rsp + 0x6c]
movsxd rcx, dword [rsp + 0x70]
mov r14, qword [rsp + 0x50]
imul rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
mov rdi, rax
test rax, rax
jle 0x140268bad
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
movsxd rax, r9d
mov r9d, 0xff
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 0x140268a67
xor eax, eax
jmp 0x140268a6e
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 1]
mov byte [r14], al
movsxd rax, r10d
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 0x140268a9d
xor eax, eax
jmp 0x140268aa4
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 2]
mov byte [r14 + 1], al
movsxd rax, r11d
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 0x140268ad4
xor eax, eax
jmp 0x140268adb
cmp eax, r9d
cmovg eax, r9d
movzx r8d, byte [r14 + 3]
mov byte [r14 + 2], al
movsxd rax, ebx
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 0x140268b0e
xor eax, eax
jmp 0x140268ba9
cmp eax, r9d
cmovg eax, r9d
jmp 0x140268ba9
mov r14, qword [rsp + 0x50]
xorps xmm0, xmm0
cvtsi2sd xmm0, r9d
mulsd xmm0, xmm6
addsd xmm0, xmm7
addsd xmm0, xmm8
movsd qword [rsp + 8], xmm0
xorps xmm0, xmm0
movzx eax, byte [rsp + 8]
cvtsi2sd xmm0, r10d
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, r11d
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, ebx
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 + 0x50], r14
cmp edi, dword [rsp + 0x74]
jne 0x140268bd5
mov ebx, dword [rsp + 0x24]
mov r8d, dword [rsp + 0x78]
mulsd xmm4, xmm5
cvttsd2si eax, xmm4
add ebx, eax
jmp 0x140268bdf
mov ebx, dword [rsp + 0x7c]
mov r8d, 0x4000
mov r14d, dword [rsp + 0x28]
inc edi
mov r10d, dword [rsp]
mov esi, dword [rsp + 0x2c]
mov r12, qword [rsp + 0x1a8]
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x40], edi
cmp edi, dword [rsp + 0x44]
jl 0x140268530
mov r9d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x80]
mov r13d, dword [rsp + 0x84]
lea eax, [r13 - 2]
cmp r11d, eax
jne 0x140268c4b
mov r10d, dword [rsp + 0x88]
mulsd xmm9, xmm5
cvttsd2si eax, xmm9
add r9d, eax
jmp 0x140268c54
mov r10d, 0x4000
mov r9d, r15d
mov esi, dword [rsp + 0x8c]
inc r11d
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x48], r11d
cmp r11d, r13d
jl 0x140268433
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x170]
mov r14, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x160]
lea r11, [rsp + 0x130]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret