Function at 0x140850e70
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r15
lea rbp, [r11 - 0x178]
sub rsp, 0x258
mov rax, qword [0x140a630a8]
xor rax, rsp
mov qword [rbp + 0xe0], rax
movsd xmm4, qword [0x1408cf578]
xorps xmm3, xmm3
movsd qword [rsp + 0x28], xmm3
mov r15, rcx
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x28], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x30], xmm3
movsd xmm0, qword [rsp + 0x30]
comisd xmm4, xmm0
mov dword [rsp + 0x4c], edx
mov qword [rsp + 0x58], rcx
jbe 0x140850fec
movsd xmm5, qword [0x1408cefb8]
movaps xmmword [r11 - 0x48], xmm6
movsd xmm6, qword [0x1408c8248]
movaps xmmword [r11 - 0x58], xmm7
movsd xmm7, qword [0x1408cf118]
movaps xmmword [r11 - 0x68], xmm8
movsd xmm8, qword [0x1408cf008]
movaps xmmword [r11 - 0x78], xmm9
movsd xmm9, qword [0x1408cf048]
movaps xmmword [r11 - 0x88], xmm10
movsd xmm10, qword [0x1408cf0a8]
nop dword [rax + rax]
movsd xmm2, qword [rsp + 0x30]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm8
subsd xmm2, xmm1
mulsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x28]
movsd qword [rsp + 0x28], xmm2
movsd xmm0, qword [rsp + 0x28]
comisd xmm0, xmm10
jbe 0x140850fa1
movsd xmm1, qword [rsp + 0x28]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm6
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm4, xmm1
ja 0x140850f30
movaps xmm10, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm6, xmmword [rsp + 0x230]
movsd xmm0, qword [rsp + 0x28]
xor esi, esi
comisd xmm3, xmm0
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x240], r14
jbe 0x140851019
call fcn.140888793
call fcn.140888715
jmp 0x140851fed
mov qword [rsp + 0x250], r12
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x248], r13
mov eax, esi
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x140851030
mov r9d, esi
lea r14, [fcn.140888793]
xor cl, cl
mov r10d, 0xff
mov r11d, 1
mov edi, esi
cmp r10d, r11d
jbe 0x140851070
nop
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x140851060
nop dword [rax]
movzx eax, cl
movzx edx, byte [rsp + rax + 0x60]
mov eax, r9d
test r9d, r9d
je 0x1408510ca
sub eax, 1
je 0x1408510ba
sub eax, 1
je 0x1408510aa
cmp eax, 1
je 0x14085109a
lea eax, [r9 - 4]
movzx eax, byte [rax + r14]
jmp 0x1408510d5
movsd xmm0, qword [rsp + 0x28]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1408510d5
movsd xmm0, qword [rsp + 0x28]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1408510d5
movsd xmm0, qword [rsp + 0x28]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1408510d5
movsd xmm0, qword [rsp + 0x28]
cvttsd2si rax, xmm0
add dl, al
lea r8d, [r9 + 1]
cmp r8d, 0x1d
mov r9d, esi
cmovb r9d, r8d
lea eax, [rdx + 0x1d]
movzx ecx, al
cmovb ecx, edx
inc edi
movzx ebx, cl
mov eax, ebx
and eax, r11d
cmp edi, 0xb
jbe 0x140851105
xor edx, edx
div r10d
mov eax, edx
movzx ecx, bl
cmp eax, r10d
ja 0x140851070
je 0x140851132
mov edx, eax
mov ecx, r10d
movzx eax, byte [rsp + rdx + 0x60]
xor al, byte [rsp + rcx + 0x60]
mov byte [rsp + rcx + 0x60], al
xor byte [rsp + rdx + 0x60], al
movzx eax, byte [rsp + rdx + 0x60]
xor byte [rsp + rcx + 0x60], al
movzx ecx, bl
add r10d, 0xffffffff
jne 0x140851051
movzx r15d, byte [rsp + 0x65]
lea r12, [fcn.140888715]
movzx r8d, byte [r12]
mov edi, esi
movzx r9d, byte [rsp + 0x67]
movzx edx, byte [rsp + rbx + 0x60]
movss xmm0, dword [0x1408cf930]
movss xmm1, dword [0x1408cf8c0]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [0x1408cf7c0]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [0x1408cf68c]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x28]
addss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x30]
comiss xmm1, xmm0
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
jbe 0x140851259
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
jmp 0x1408512a5
divss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movzx eax, byte [rsp + 0x61]
sub r8b, 0x32
movzx r10d, byte [rsp + 0x63]
mov r11, rdx
movzx edx, byte [rsp + rdx + 0x60]
movzx ecx, byte [r12 + 1]
add r10b, byte [rsp + rax + 0x60]
lea r13d, [rax + 1]
movss xmm0, dword [0x1408cf878]
add cl, 0x72
movss xmm1, dword [0x1408cf7b4]
movzx ebx, r10b
shl r8b, 4
or r8b, cl
movzx ecx, r13b
movzx eax, byte [rsp + rbx + 0x60]
mov byte [rsp + r11 + 0x60], al
movzx eax, byte [rsp + r9 + 0x60]
mov byte [rsp + rbx + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + r9 + 0x60], al
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [0x1408cf704]
movss dword [rsp + 0x38], xmm1
movss xmm1, dword [0x1408cf638]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x20]
addss xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x20]
addss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x20]
addss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x20]
comiss xmm0, xmm1
jbe 0x1408513f7
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
subss xmm1, xmm0
mov byte [rsp + rcx + 0x60], dl
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
jmp 0x140851564
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
addss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
mulss xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x20]
addss xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x20]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
comiss xmm0, xmm1
jbe 0x140851512
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
jmp 0x14085156a
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movzx r14d, byte [rsp + rcx + 0x60]
add r15b, byte [rsp + rdx + 0x60]
movsd xmm0, qword [0x1408cf4d0]
movsd xmm1, qword [0x1408cd258]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r9 + 0x60]
add rcx, rax
movzx eax, byte [rsp + r11 + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rbx + 0x60]
add rcx, r14
movzx edx, byte [rsp + rax + 0x60]
movzx eax, cl
movzx ecx, byte [rsp + rdx + 0x60]
xor cl, byte [rsp + rax + 0x60]
movsd qword [rsp + 0x28], xmm0
xor cl, r8b
movsd xmm0, qword [0x1408cf2f8]
movsd qword [rsp + 0x38], xmm1
movsd xmm1, qword [0x1408cc198]
movsd qword [rsp + 0x40], xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x28]
comisd xmm0, xmm1
jbe 0x1408516b3
movsd xmm1, qword [rsp + 0x30]
mov edi, 1
movsd xmm0, qword [rsp + 0x28]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
jmp 0x14085180b
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x28]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x28]
addsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x30]
jbe 0x1408517cf
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
jmp 0x14085180b
movsd xmm0, qword [rsp + 0x28]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movss xmm0, dword [0x1408cf8bc]
lea r11d, [rdi + rdi]
movzx eax, byte [r11 + r12]
add r10b, r14b
movzx r9d, byte [r11 + r12 + 1]
sub al, 2
movss xmm1, dword [0x1408cf840]
add r9b, 0x72
shl al, 4
inc r13b
or r9b, al
movzx r14d, cl
movzx ebx, r8b
mov byte [rsp + 0x48], r10b
movzx r10d, r10b
movzx ecx, r13b
movzx edx, byte [rsp + rbx + 0x60]
movzx eax, byte [rsp + r10 + 0x60]
mov byte [rsp + rbx + 0x60], al
movzx eax, byte [rsp + r14 + 0x60]
mov byte [rsp + r10 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + r14 + 0x60], al
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [0x1408cf780]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [0x1408cf6d4]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x1408cf618]
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x20]
mulss xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x38]
comiss xmm0, xmm1
jbe 0x140851af8
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x28]
divss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
divss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x20]
subss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x20]
addss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x20]
subss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x28]
comiss xmm0, xmm1
jbe 0x140851a88
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x30]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x20]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
jmp 0x140851b64
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x20]
mulss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x20]
divss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x38]
divss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x38]
divss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
jmp 0x140851b6a
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x20]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x20]
mulss xmm2, xmm0
mov byte [rsp + rcx + 0x60], dl
movss dword [rsp + 0x20], xmm2
movss xmm1, dword [rsp + 0x20]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movzx r8d, byte [rsp + rcx + 0x60]
add r15b, byte [rsp + rdx + 0x60]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r14 + 0x60]
add rcx, rax
movzx eax, byte [rsp + rbx + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + r10 + 0x60]
add rcx, r8
movzx edx, byte [rsp + rax + 0x60]
movzx eax, cl
movzx ebx, byte [rsp + rdx + 0x60]
xor bl, byte [rsp + rax + 0x60]
xor bl, r9b
test edi, edi
je 0x140851bbe
movsx edx, bl
lea eax, [rdi - 1]
mov word [rbp + rax*2 + 0x60], dx
movzx esi, byte [rsp + 0x48]
mov r12d, edi
not r12d
add r12d, 0x1f
nop dword [rax]
add r11d, 2
movzx r10d, r9b
movsxd rax, r11d
lea rcx, [fcn.140888715]
mov dword [rsp + 0x28], r11d
add sil, r8b
movzx r8d, bl
inc r13b
movzx r14d, byte [rsp + r10 + 0x60]
movzx r11d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add r11b, 0x72
sub al, 2
movzx r9d, sil
shl al, 4
or r11b, al
movzx ecx, r13b
mov dword [rsp + 0x30], edi
movzx eax, byte [rsp + r9 + 0x60]
mov byte [rsp + r10 + 0x60], al
movzx eax, byte [rsp + r8 + 0x60]
mov byte [rsp + r9 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + r8 + 0x60], al
mov byte [rsp + rcx + 0x60], r14b
add r15b, byte [rsp + r14 + 0x60]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r8 + 0x60]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r9 + 0x60]
movzx r9d, r11b
add rax, r14
movzx eax, al
movzx ebx, byte [rsp + rcx + 0x60]
xor bl, byte [rsp + rax + 0x60]
xor bl, r11b
add edi, 1
je 0x140851c93
mov eax, dword [rsp + 0x30]
movsx ecx, bl
mov word [rbp + rax*2 + 0x60], cx
mov r11d, dword [rsp + 0x28]
movzx r8d, r14b
sub r12, 1
jne 0x140851bd0
lea edx, [rdi + 1]
mov byte [rsp + 0x48], sil
mov esi, 0
cmp edx, 0x3d
jge 0x140851daa
movzx esi, byte [rsp + 0x48]
lea ecx, [rdi + rdi]
mov r12d, 0x3d
sub r12d, edx
nop dword [rax]
add ecx, 2
movzx r8d, bl
movsxd rax, ecx
add sil, r14b
mov dword [rsp + 0x28], ecx
inc r13b
movzx r10d, r9b
lea rcx, [fcn.140888715]
movzx r9d, sil
movzx r11d, byte [rax + rcx]
movzx eax, byte [rax + rcx + 1]
sub r11b, 2
movzx edx, byte [rsp + r10 + 0x60]
add al, 0x72
movzx ecx, r13b
shl r11b, 4
or r11b, al
mov dword [rsp + 0x30], edi
movzx eax, byte [rsp + r9 + 0x60]
mov byte [rsp + r10 + 0x60], al
movzx eax, byte [rsp + r8 + 0x60]
mov byte [rsp + r9 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + r8 + 0x60], al
mov byte [rsp + rcx + 0x60], dl
add r15b, byte [rsp + rdx + 0x60]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r8 + 0x60]
add rcx, rax
movzx eax, byte [rsp + r10 + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r9 + 0x60]
movzx r9d, r11b
add rax, rdx
movzx eax, al
movzx ebx, byte [rsp + rcx + 0x60]
xor bl, byte [rsp + rax + 0x60]
xor bl, r11b
add edi, 1
je 0x140851d91
mov eax, dword [rsp + 0x30]
movsx ecx, bl
mov word [rbp + rax*2 + 0x60], cx
mov ecx, dword [rsp + 0x28]
movzx r14d, dl
sub r12, 1
jne 0x140851cd0
mov byte [rsp + 0x48], sil
xor esi, esi
movzx r10d, byte [rsp + 0x48]
lea rcx, [fcn.140888715]
movzx edx, bl
movzx r9d, r9b
mov r14d, edi
inc edi
mov r12d, edi
lea eax, [rdi + rdi]
cdqe
movzx r11d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add r11b, 0x72
sub al, 2
shl al, 4
or r11b, al
movzx eax, byte [rsp + r9 + 0x60]
mov byte [rsp + 0x49], al
movzx ebx, byte [rsp + 0x49]
movzx eax, r13b
inc r13b
movzx ecx, r13b
add r10b, byte [rsp + rax + 0x60]
movzx r8d, r10b
movzx eax, byte [rsp + r8 + 0x60]
mov byte [rsp + r9 + 0x60], al
movzx eax, byte [rsp + rdx + 0x60]
mov byte [rsp + r8 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + rdx + 0x60], al
mov byte [rsp + rcx + 0x60], bl
add r15b, byte [rsp + rbx + 0x60]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r9 + 0x60]
add rcx, rax
movzx eax, byte [rsp + rdx + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + r8 + 0x60]
add rcx, rbx
movzx edx, byte [rsp + rax + 0x60]
movzx eax, cl
movzx edx, byte [rsp + rdx + 0x60]
xor dl, byte [rsp + rax + 0x60]
xor dl, r11b
test edi, edi
je 0x140851e72
movsx ecx, dl
mov word [rbp + r14*2 + 0x60], cx
add r10b, byte [rsp + 0x49]
lea rcx, [fcn.140888715]
movzx r8d, r10b
inc edi
movzx edx, dl
inc r13b
movzx r9d, r11b
mov r14d, edi
lea eax, [rdi + rdi]
cdqe
movzx r11d, byte [rsp + r9 + 0x60]
movzx ebx, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add bl, 0x72
sub al, 2
movzx ecx, r13b
shl al, 4
or bl, al
movzx eax, byte [rsp + r8 + 0x60]
mov byte [rsp + r9 + 0x60], al
movzx eax, byte [rsp + rdx + 0x60]
mov byte [rsp + r8 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + rdx + 0x60], al
mov byte [rsp + rcx + 0x60], r11b
add r15b, byte [rsp + r11 + 0x60]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r9 + 0x60]
add rcx, rax
movzx eax, byte [rsp + rdx + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + r8 + 0x60]
add rcx, r11
movzx edx, byte [rsp + rax + 0x60]
movzx eax, cl
movzx r8d, byte [rsp + rdx + 0x60]
xor r8b, byte [rsp + rax + 0x60]
xor r8b, bl
test edi, edi
je 0x140851f25
movsx ecx, r8b
mov word [rbp + r12*2 + 0x60], cx
mov r12, qword [rsp + 0x250]
add r11b, r10b
movzx r10d, r11b
inc r13b
movzx ecx, r13b
mov r13, qword [rsp + 0x248]
movzx r9d, bl
movzx eax, byte [rsp + r10 + 0x60]
movzx r11d, r8b
movzx edx, byte [rsp + r9 + 0x60]
mov byte [rsp + r9 + 0x60], al
movzx eax, byte [rsp + r11 + 0x60]
mov byte [rsp + r10 + 0x60], al
movzx eax, byte [rsp + rcx + 0x60]
mov byte [rsp + r11 + 0x60], al
mov byte [rsp + rcx + 0x60], dl
add edi, 1
je 0x140851fe1
mov r8d, edx
lea rcx, [fcn.140888715]
lea eax, [rdi + rdi]
cdqe
add r15b, byte [rsp + r8 + 0x60]
movzx edx, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add dl, 0x72
sub al, 2
shl al, 4
or dl, al
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r11 + 0x60]
add rcx, rax
movzx eax, byte [rsp + r9 + 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x60]
movzx eax, byte [rsp + r10 + 0x60]
add rax, r8
xor dl, byte [rsp + rcx + 0x60]
movzx ecx, al
xor dl, byte [rsp + rcx + 0x60]
movsx ecx, dl
mov word [rbp + r14*2 + 0x60], cx
mov r15, qword [rsp + 0x58]
mov word [rbp + 0xdc], si
movsxd rdi, dword [rsp + 0x4c]
test rdi, rdi
jle 0x140852045
mov rbx, rsi
lea rcx, [rbp + 0x60]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140852010
lea r14, [rax - 1]
lea rcx, [rsp + 0x50]
call fcn.1408998c4
mov eax, dword [rsp + 0x50]
xor edx, edx
div r14
movzx eax, word [rbp + rdx*2 + 0x60]
mov word [r15 + rbx*2], ax
inc rbx
cmp rbx, rdi
jl 0x140852020
mov r14, qword [rsp + 0x240]
mov rbx, qword [rsp + 0x290]
mov word [r15 + rdi*2], si
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.140890ac0
add rsp, 0x258
pop r15
pop rdi
pop rsi
pop rbp
ret