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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0xf0
movss xmm2, dword [0x1402b42a0]
mov edi, r8d
mov eax, dword [rsp + 0x130]
mov rbx, rdx
movsxd rsi, dword [rsp + 0x138]
mov r11, rcx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm0
addss xmm0, xmm2
divss xmm2, xmm0
test r9d, r9d
jle 0x14008c0b6
movsd xmm3, qword [0x1402b42b8]
lea r10d, [rax + 1]
mov edx, eax
mov qword [rsp + 0xe8], rbp
imul edx, esi
mov ecx, edi
sub ecx, eax
mov qword [rsp + 0xe0], r12
mov dword [rsp + 0x2c], ecx
mov r8, rsi
lea ecx, [rdi - 1]
mov qword [rsp + 0xd8], r13
imul ecx, esi
mov rsi, r11
mov qword [rsp + 0xd0], r14
mov r14d, 1
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0x4c], r10d
lea ebp, [rdx + 1]
mov qword [rsp + 0x58], r14
movsxd r12, ebp
movsxd rax, ecx
sub rsi, r12
sub rax, r12
mov dword [rsp + 0x60], ebp
add rax, 2
mov qword [rsp + 0x68], r12
add rax, r11
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0x80], rax
lea eax, [rdx + 2]
cdqe
sub rax, r12
mov qword [rsp + 0xa8], rax
movsxd rax, ecx
lea ecx, [rdx - 1]
sub rax, r12
mov dword [rsp + 0x64], ecx
add rax, r11
mov qword [rsp + 0x78], rax
movsxd rax, edx
sub rax, r12
mov qword [rsp + 0xa0], rax
mov eax, r14d
sub rax, r12
mov qword [rsp + 0x90], rax
mov eax, 2
sub rax, r12
mov qword [rsp + 0x98], rax
mov rax, r12
neg rax
mov qword [rsp + 0x88], rax
mov eax, r9d
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov r9, qword [rsp + 0x80]
lea eax, [r14 + 1]
mov rdx, qword [rsp + 0x78]
lea edi, [r14 + rcx]
movzx r13d, byte [r12 + rsi]
lea r15d, [r14 - 1]
mov dword [rsp + 0x18], eax
lea rcx, [r12 + 1]
mov dword [rsp + 0x10], eax
add rcx, rsi
movzx edx, byte [rdx + r12]
lea eax, [r14 + rbp]
mov dword [rsp + 0x34], edx
movzx edx, byte [r9 + r12 - 1]
movzx ebp, byte [rcx]
mov dword [rsp + 0x50], eax
dec eax
mov dword [rsp + 0x38], edx
movzx edx, byte [r9 + r12]
mov r9d, r10d
mov dword [rsp + 0x30], eax
movzx eax, byte [r12 + rsi + 2]
mov dword [rsp + 0x3c], edx
mov edx, r10d
imul r10d, eax
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x130]
imul edx, r13d
imul r9d, ebp
mov dword [rsp + 0x14], r15d
mov dword [rsp + 0x128], r15d
mov dword [rsp + 0xc], r14d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebp
test eax, eax
jle 0x14008b46d
mov rsi, qword [rsp + 0x88]
mov edi, eax
sub rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
sub rbp, qword [rsp + 0x90]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rcx]
add edx, eax
movzx eax, byte [rcx]
add r9d, eax
movzx eax, byte [rcx + rbp]
add r10d, eax
add rcx, r8
sub rdi, 1
jne 0x14008b440
mov ebp, dword [rsp + 0x20]
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x40], edi
jmp 0x14008b47d
mov dword [rsp + 0x40], 0
test eax, eax
js 0x14008b812
mov rcx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
add rcx, r12
add rdi, r12
movsxd rsi, r15d
cmp dword [rsp + 0x4c], 4
movsxd r15, dword [rsp + 0x18]
movsxd r14, r14d
jl 0x14008b740
mov r11d, dword [rsp + 0x14]
inc eax
mov rbx, qword [rsp + 0x118]
shr rax, 2
mov qword [rsp], rax
mov eax, dword [rsp + 0x138]
imul eax, dword [rsp]
shl eax, 2
add dword [rsp + 0x28], eax
add r11d, eax
add dword [rsp + 0x30], eax
mov dword [rsp + 0x128], r11d
mov r11, qword [rsp + 0x58]
add r11d, eax
mov dword [rsp + 0xc], r11d
mov r11d, dword [rsp + 0x18]
add r11d, eax
add dword [rsp + 0x50], eax
mov rax, qword [rsp]
mov dword [rsp + 0x10], r11d
mov r11, qword [rsp + 0x110]
lea eax, [rax*4]
mov dword [rsp + 0x40], eax
nop word [rax + rax]
movzx eax, byte [rcx + r11]
add rcx, r8
sub eax, r13d
add edx, eax
movzx eax, byte [r12 + r11]
sub eax, ebp
add r12, r8
add r9d, eax
movzx eax, byte [rdi + r11]
sub eax, dword [rsp + 8]
add rdi, r8
add r10d, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rsi + rbx], al
add rsi, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r14 + rbx], al
add r14, r8
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r15 + rbx], al
add r15, r8
movzx eax, byte [rcx + r11]
add rcx, r8
sub eax, r13d
add edx, eax
movzx eax, byte [r12 + r11]
sub eax, ebp
add r12, r8
add r9d, eax
movzx eax, byte [rdi + r11]
sub eax, dword [rsp + 8]
add rdi, r8
add r10d, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rsi + rbx], al
add rsi, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r14 + rbx], al
add r14, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r15 + rbx], al
add r15, r8
movzx eax, byte [rcx + r11]
sub eax, r13d
add edx, eax
movzx eax, byte [r12 + r11]
sub eax, ebp
add r9d, eax
movzx eax, byte [rdi + r11]
sub eax, dword [rsp + 8]
add r10d, eax
movd xmm0, edx
add rcx, r8
cvtdq2ps xmm0, xmm0
add r12, r8
add rdi, r8
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rsi + rbx], al
add rsi, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r14 + rbx], al
add r14, r8
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r15 + rbx], al
add r15, r8
movzx eax, byte [rcx + r11]
add rcx, r8
sub eax, r13d
add edx, eax
movzx eax, byte [r12 + r11]
sub eax, ebp
add r12, r8
add r9d, eax
movzx eax, byte [rdi + r11]
sub eax, dword [rsp + 8]
add rdi, r8
add r10d, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rsi + rbx], al
add rsi, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r14 + rbx], al
add r14, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r15 + rbx], al
add r15, r8
sub qword [rsp], 1
jne 0x14008b520
mov eax, dword [rsp + 0x130]
cmp dword [rsp + 0x40], eax
jg 0x14008b804
sub eax, dword [rsp + 0x40]
lea rbp, [r12 + r11]
add r14, rbx
add r15, rbx
add rsi, rbx
add rdi, r11
add rcx, r11
inc eax
mov r12d, eax
imul eax, dword [rsp + 0x138]
add dword [rsp + 0x128], eax
add dword [rsp + 0xc], eax
add dword [rsp + 0x10], eax
add dword [rsp + 0x28], eax
add dword [rsp + 0x30], eax
add dword [rsp + 0x50], eax
movzx eax, byte [rcx]
add rcx, r8
sub eax, r13d
add edx, eax
movzx eax, byte [rbp]
sub eax, dword [rsp + 0x20]
add rbp, r8
add r9d, eax
movzx eax, byte [rdi]
sub eax, dword [rsp + 8]
add rdi, r8
add r10d, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rsi], al
add rsi, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r14], al
add r14, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r15], al
add r15, r8
sub r12, 1
jne 0x14008b77f
mov edi, dword [rsp + 0x28]
mov r15d, dword [rsp + 0x14]
mov r14, qword [rsp + 0x58]
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 8], eax
cmp eax, dword [rsp + 0x2c]
jge 0x14008bcd6
movsxd rax, dword [rsp + 0x10]
movsxd rcx, dword [rsp + 0xc]
movsxd r13, dword [rsp + 0x30]
movsxd r12, dword [rsp + 0x50]
movsxd rbp, dword [rsp + 0x128]
mov qword [rsp], rax
mov eax, dword [rsp + 0x2c]
sub eax, dword [rsp + 0x4c]
movsxd rsi, r15d
movsxd r15, dword [rsp + 0x18]
movsxd rdi, edi
movsxd r14, r14d
mov qword [rsp + 0x20], rcx
cmp eax, 4
jl 0x14008bbb0
mov rbx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2c]
sub ecx, dword [rsp + 8]
sub ecx, 4
shr ecx, 2
inc ecx
mov eax, ecx
mov qword [rsp + 0x40], rax
mov eax, ecx
imul eax, dword [rsp + 0x138]
shl eax, 2
add dword [rsp + 0x128], eax
add ebx, eax
add dword [rsp + 0xc], eax
add dword [rsp + 0x10], eax
add dword [rsp + 0x14], eax
add dword [rsp + 0x18], eax
mov eax, dword [rsp + 8]
mov dword [rsp + 0x48], ebx
mov rbx, qword [rsp + 0x118]
lea eax, [rax + rcx*4]
mov dword [rsp + 8], eax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + r11]
add rsi, r8
movzx ecx, byte [rdi + r11]
add rdi, r8
sub ecx, eax
movzx eax, byte [r14 + r11]
add edx, ecx
add r14, r8
movzx ecx, byte [r11 + r13]
add r13, r8
sub ecx, eax
movzx eax, byte [r15 + r11]
add r9d, ecx
add r15, r8
movzx ecx, byte [r12 + r11]
add r12, r8
mov r11, qword [rsp]
sub ecx, eax
add qword [rsp], r8
add r10d, ecx
mov rcx, qword [rsp + 0x20]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rbx + rbp], al
add rbp, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rcx + rbx], al
add rcx, r8
mov qword [rsp + 0x20], rcx
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r11 + rbx], al
mov r11, qword [rsp + 0x110]
movzx eax, byte [rsi + r11]
movzx ecx, byte [rdi + r11]
sub ecx, eax
movzx eax, byte [r14 + r11]
add edx, ecx
movzx ecx, byte [r11 + r13]
sub ecx, eax
movzx eax, byte [r15 + r11]
add r9d, ecx
movzx ecx, byte [r12 + r11]
mov r11, qword [rsp]
sub ecx, eax
add r10d, ecx
movd xmm0, edx
mov rcx, qword [rsp + 0x20]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rbx + rbp], al
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [rcx + rbx], al
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r11 + rbx], al
mov r11, qword [rsp + 0x110]
add rcx, r8
add qword [rsp], r8
add rdi, r8
mov qword [rsp + 0x20], rcx
add rsi, r8
add r13, r8
add r14, r8
add r12, r8
add r15, r8
movzx ecx, byte [rdi + r11]
add rbp, r8
movzx eax, byte [rsi + r11]
add rdi, r8
sub ecx, eax
add rsi, r8
movzx eax, byte [r14 + r11]
add edx, ecx
movzx ecx, byte [r11 + r13]
add r14, r8
sub ecx, eax
add r13, r8
movzx eax, byte [r15 + r11]
add r9d, ecx
movzx ecx, byte [r12 + r11]
add r15, r8
mov r11, qword [rsp]
sub ecx, eax
add qword [rsp], r8
add r10d, ecx
mov rcx, qword [rsp + 0x20]
add r12, r8
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rbx + rbp], al
add rbp, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [rcx + rbx], al
add rcx, r8
mov qword [rsp + 0x20], rcx
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r11 + rbx], al
mov r11, qword [rsp + 0x110]
movzx eax, byte [rsi + r11]
movzx ecx, byte [rdi + r11]
sub ecx, eax
movzx eax, byte [r14 + r11]
add edx, ecx
movzx ecx, byte [r11 + r13]
sub ecx, eax
movzx eax, byte [r15 + r11]
add r9d, ecx
movzx ecx, byte [r12 + r11]
sub ecx, eax
movd xmm0, edx
add r10d, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [rbx + rbp], al
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
mov r11, qword [rsp]
add rdi, r8
mov rcx, qword [rsp + 0x20]
add r13, r8
cvttsd2si eax, xmm1
add r12, r8
add rsi, r8
add r14, r8
add r15, r8
add rbp, r8
movd xmm0, r10d
mov byte [rcx + rbx], al
add rcx, r8
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x20], rcx
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [r11 + rbx], al
mov rax, r11
mov r11, qword [rsp + 0x110]
add rax, r8
sub qword [rsp + 0x40], 1
mov qword [rsp], rax
jne 0x14008b8d0
mov qword [rsp + 0x50], rsi
mov esi, dword [rsp + 0x2c]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x40], rdi
cmp dword [rsp + 8], esi
jl 0x14008bbc3
jmp 0x14008bcd6
mov rax, qword [rsp]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x20], r15
lea rsi, [rax + rbx]
add r13, r11
mov rax, qword [rsp + 0x50]
lea r15, [rbx + rbp]
add rax, r11
lea rbp, [r12 + r11]
mov r12, qword [rsp + 0x20]
lea rdi, [r14 + r11]
mov qword [rsp + 0x20], rax
lea r14, [rcx + rbx]
mov eax, dword [rsp + 0x2c]
add r12, r11
sub eax, dword [rsp + 8]
mov rbx, qword [rsp + 0x40]
movsxd rcx, eax
add rbx, r11
imul eax, dword [rsp + 0x138]
mov r11, qword [rsp + 0x20]
mov qword [rsp], rcx
add dword [rsp + 0x128], eax
add dword [rsp + 0xc], eax
add dword [rsp + 0x10], eax
add dword [rsp + 0x14], eax
add dword [rsp + 0x48], eax
add dword [rsp + 0x18], eax
movzx eax, byte [r11]
add r11, r8
movzx ecx, byte [rbx]
add rbx, r8
sub ecx, eax
movzx eax, byte [rdi]
add edx, ecx
add rdi, r8
movzx ecx, byte [r13]
add r13, r8
sub ecx, eax
movzx eax, byte [r12]
add r9d, ecx
add r12, r8
movzx ecx, byte [rbp]
add rbp, r8
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15], al
add r15, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r14], al
add r14, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rsi], al
add rsi, r8
sub qword [rsp], 1
jne 0x14008bc2e
mov r11, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
mov r13d, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x120]
cmp r13d, ecx
jge 0x14008c046
cmp dword [rsp + 0x130], 4
movsxd rdi, dword [rsp + 0x14]
movsxd rsi, dword [rsp + 0x48]
movsxd r14, dword [rsp + 0x18]
movsxd r15, dword [rsp + 0x128]
movsxd r12, dword [rsp + 0xc]
movsxd rbp, dword [rsp + 0x10]
jl 0x14008bf8a
mov eax, ecx
sub eax, r13d
sub eax, 4
shr eax, 2
inc eax
mov ecx, eax
lea r13d, [r13 + rax*4]
mov dword [rsp + 0x128], r13d
mov r13d, ecx
nop dword [rax]
movzx eax, byte [rdi + r11]
add rdi, r8
mov ecx, dword [rsp + 0x34]
sub ecx, eax
movzx eax, byte [rsi + r11]
add edx, ecx
add rsi, r8
mov ecx, dword [rsp + 0x38]
sub ecx, eax
movzx eax, byte [r14 + r11]
add r9d, ecx
add r14, r8
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mov ecx, dword [rsp + 0x34]
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15 + rbx], al
add r15, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r12 + rbx], al
add r12, r8
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rbx + rbp], al
add rbp, r8
movzx eax, byte [rdi + r11]
add rdi, r8
sub ecx, eax
movzx eax, byte [rsi + r11]
add edx, ecx
add rsi, r8
mov ecx, dword [rsp + 0x38]
sub ecx, eax
movzx eax, byte [r14 + r11]
add r9d, ecx
add r14, r8
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mov ecx, dword [rsp + 0x34]
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15 + rbx], al
add r15, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r12 + rbx], al
add r12, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rbx + rbp], al
add rbp, r8
movzx eax, byte [rdi + r11]
sub ecx, eax
movzx eax, byte [rsi + r11]
add edx, ecx
mov ecx, dword [rsp + 0x38]
add rdi, r8
sub ecx, eax
add rsi, r8
movzx eax, byte [r14 + r11]
add r9d, ecx
mov ecx, dword [rsp + 0x3c]
add r14, r8
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mov ecx, dword [rsp + 0x34]
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15 + rbx], al
add r15, r8
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r12 + rbx], al
add r12, r8
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rbx + rbp], al
add rbp, r8
movzx eax, byte [rdi + r11]
add rdi, r8
sub ecx, eax
movzx eax, byte [rsi + r11]
add edx, ecx
add rsi, r8
mov ecx, dword [rsp + 0x38]
sub ecx, eax
movzx eax, byte [r14 + r11]
add r9d, ecx
add r14, r8
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15 + rbx], al
add r15, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r12 + rbx], al
add r12, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rbx + rbp], al
add rbp, r8
sub r13, 1
jne 0x14008bd40
mov r13d, dword [rsp + 0x128]
mov ecx, dword [rsp + 0x120]
cmp r13d, ecx
jge 0x14008c046
add rdi, r11
add rbp, rbx
add r12, rbx
add r15, rbx
mov ebx, dword [rsp + 0x34]
add r14, r11
add rsi, r11
mov r11d, dword [rsp + 0x38]
sub ecx, r13d
mov r13d, ecx
movzx eax, byte [rdi]
mov ecx, ebx
sub ecx, eax
add rdi, r8
movzx eax, byte [rsi]
add edx, ecx
mov ecx, r11d
add rsi, r8
sub ecx, eax
movzx eax, byte [r14]
add r9d, ecx
add r14, r8
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
add r10d, ecx
mulss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
addsd xmm1, xmm3
mulss xmm0, xmm2
cvttsd2si eax, xmm1
cvtps2pd xmm1, xmm0
mov byte [r15], al
add r15, r8
movd xmm0, r10d
addsd xmm1, xmm3
cvtdq2ps xmm0, xmm0
cvttsd2si eax, xmm1
mulss xmm0, xmm2
mov byte [r12], al
add r12, r8
cvtps2pd xmm1, xmm0
addsd xmm1, xmm3
cvttsd2si eax, xmm1
mov byte [rbp], al
add rbp, r8
sub r13, 1
jne 0x14008bfab
mov r11, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
add r14d, dword [rsp + 0x140]
movsxd rax, dword [rsp + 0x140]
mov r10d, dword [rsp + 0x4c]
add r12, rax
sub qword [rsp + 0x70], 1
mov rsi, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x64]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x68], r12
jne 0x14008b370
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
pop rdi
pop rsi
pop rbx
ret