Function at 0x1400f6680
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov r13d, dword [rsp + 0x120]
xor r12d, r12d
mov r14d, dword [rsp + 0x130]
mov r10d, r12d
cmp r14d, 0x10
mov qword [rsp + 0x90], r12
mov rbx, rdx
mov dword [rsp + 0x48], r13d
mov edx, dword [rsp + 0x128]
sete r10b
inc r10d
mov rsi, rcx
mov edi, r10d
mov ebp, r8d
imul edi, r9d
xor r9d, r9d
mov eax, edi
mov r8d, edi
imul eax, r13d
mov dword [rsp + 0x44], eax
mov rax, qword [rcx]
mov ecx, r13d
mov eax, dword [rax + 8]
mov r15d, eax
imul r15d, r10d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x100], r15d
call fcn.1400ef1b0
test eax, eax
jne 0x1400f671b
mov r10d, r12d
jmp 0x1400f6734
mov eax, edi
imul eax, r13d
imul eax, dword [rsp + 0x128]
movsxd rcx, eax
call fcn.140280918
mov r10, rax
mov qword [rsp + 0x58], r10
mov qword [rsi + 0x18], r10
test r10, r10
jne 0x1400f675a
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.outofmem
jmp 0x1400f76dd
movsxd r9, dword [rsp + 0x28]
test r9d, r9d
js 0x1400f76ca
test r13d, r13d
js 0x1400f76ca
je 0x1400f678d
mov eax, 0x7fffffff
mov ecx, r12d
cdq
idiv r13d
cmp r9d, eax
setle cl
test ecx, ecx
je 0x1400f76ca
mov r8d, r9d
imul r8d, r13d
mov dword [rsp + 0x40], r8d
test r8d, r8d
js 0x1400f76ca
test r14d, r14d
js 0x1400f76ca
je 0x1400f67c7
mov eax, 0x7fffffff
mov ecx, r12d
cdq
idiv r14d
cmp r8d, eax
setle cl
test ecx, ecx
je 0x1400f76ca
mov eax, r8d
imul eax, r14d
cmp eax, 0x7ffffff8
jg 0x1400f76ca
mov edx, dword [rsp + 0x128]
lea r8d, [rax + 7]
shr r8d, 3
mov dword [rsp + 0x50], r8d
lea eax, [r8 + 1]
imul eax, edx
cmp ebp, eax
jae 0x1400f6810
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.not_enough_pixels
jmp 0x1400f76dd
lea r11, [0x140000000]
mov ecx, r12d
mov dword [rsp + 0x4c], ecx
test edx, edx
je 0x1400f721b
movsxd rsi, r15d
movsxd r14, edi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x38], r9
jmp 0x1400f6843
xor r12d, r12d
movzx r11d, byte [rbx]
mov edx, ecx
imul edx, dword [rsp + 0x44]
inc rbx
add rdx, r10
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x20], rdx
cmp r11d, 4
ja 0x1400f7280
mov edi, dword [rsp + 0x130]
mov ebp, dword [rsp + 0x118]
cmp edi, 8
jge 0x1400f68aa
mov r15d, 1
mov dword [rsp + 0x48], r8d
mov eax, ebp
mov dword [rsp + 0x100], r15d
imul eax, r13d
mov esi, r15d
mov qword [rsp + 0x60], r15
sub eax, r8d
add rdx, rax
mov qword [rsp + 0x20], rdx
mov eax, dword [rsp + 0x44]
lea r13, [0x140000000]
mov r10, rdx
sub r10, rax
mov qword [rsp + 0x30], r10
test ecx, ecx
jne 0x1400f68cd
movzx r11d, byte [r11 + r13 + 0x33e1f4]
test rsi, rsi
jle 0x1400f69f0
mov r9, rdx
sub r10, rbx
sub r9, rbx
mov rcx, rbx
mov rdx, rsi
cmp r11d, 6
ja case.default.0x1400f68f9
movsxd rax, r11d
mov eax, dword [r13 + rax*4 + 0xf7704]
add rax, r13
jmp rax
inc rcx
sub rdx, 1
jne 0x1400f68e5
jmp 0x1400f69e1
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.0
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.1
movzx eax, byte [r10 + rcx]
add al, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.2
movzx eax, byte [r10 + rcx]
lea rcx, [rcx + 1]
shr al, 1
add al, byte [rcx - 1]
mov byte [r9 + rcx - 1], al
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.3
movzx eax, byte [r10 + rcx]
lea rcx, [rcx + 1]
test eax, eax
cmove eax, r12d
add al, byte [rcx - 1]
mov byte [r9 + rcx - 1], al
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.4
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f69e1
jmp case.0x1400f68f9.5
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne case.0x1400f68f9.6
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
cmp edi, 8
jne 0x1400f6a08
cmp dword [rsp + 0x28], ebp
je 0x1400f6a00
mov byte [r9 + rdx], 0xff
movsxd rax, ebp
mov rdx, r9
jmp 0x1400f6a2b
cmp edi, 0x10
jne 0x1400f6a24
cmp dword [rsp + 0x28], ebp
je 0x1400f6a19
mov word [rsi + rdx], 0xffff
mov rax, r14
movsxd rdx, r15d
mov rcx, r14
jmp 0x1400f6a2e
mov eax, 1
mov edx, eax
mov rcx, rax
add r10, rcx
add rbx, rdx
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x68], rcx
cmp edi, 8
jl 0x1400f6f63
mov eax, dword [rsp + 0x28]
cmp eax, dword [rsp + 0x118]
je 0x1400f6f63
cmp r11d, 6
ja case.default.0x1400f6a82
movsxd rax, r11d
lea r11, [0x140000000]
mov edx, dword [r11 + rax*4 + 0xf7720]
add rdx, r11
jmp rdx
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd r11, dword [rsp + 0x100]
mov r10d, eax
test rsi, rsi
jle 0x1400f6ad1
mov r9, rbx
mov rdx, rcx
sub r9, rcx
mov r8, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400f6ac0
mov byte [rsi + rcx], 0xff
add rbx, r11
add rcx, r14
sub r10, 1
jne 0x1400f6aa1
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f6b35
mov r9, rcx
mov r10, rcx
sub r9, r14
mov rdx, rbx
sub r9, rbx
mov r8, rsi
sub r10, rbx
nop dword [rax]
movzx eax, byte [r9 + rdx]
add al, byte [rdx]
mov byte [rdx + r10], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400f6b20
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f6b03
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd r11, dword [rsp + 0x100]
mov r15, r11
mov ebp, eax
nop dword [rax]
xor eax, eax
mov r8d, eax
test r11d, r11d
jle 0x1400f6c19
cmp r11d, 0x20
jb 0x1400f6c19
lea eax, [r11 - 1]
movsxd rdx, eax
lea rax, [rdx + rbx]
lea r9, [rdx + rcx]
cmp rcx, rax
ja 0x1400f6ba1
cmp r9, rbx
jae 0x1400f6c19
lea rax, [rdx + r10]
cmp rcx, rax
ja 0x1400f6baf
cmp r9, r10
jae 0x1400f6c19
mov edx, r11d
and edx, 0x8000001f
jge 0x1400f6bc1
dec edx
or edx, 0xffffffe0
inc edx
mov eax, r11d
mov r9, rbx
sub eax, edx
mov rdx, r10
sub rdx, rcx
movsxd r11, eax
sub r9, rcx
lea rax, [rcx + 0x10]
nop dword [rax]
movdqu xmm0, xmmword [rdx + rax - 0x10]
add r8, 0x20
movdqu xmm1, xmmword [r9 + rax - 0x10]
lea rax, [rax + 0x20]
paddb xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm2, xmmword [rdx + rax - 0x20]
movdqu xmm0, xmmword [rax + r9 - 0x20]
paddb xmm2, xmm0
movdqu xmmword [rax - 0x20], xmm2
cmp r8, r11
jl 0x1400f6be0
cmp r8, rsi
jge 0x1400f6c54
mov r11, r10
lea rdx, [r8 + rbx]
mov rdi, rcx
sub r11, rbx
sub rdi, rbx
mov r9, rsi
sub r9, r8
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r11]
add al, byte [rdx]
mov byte [rdx + rdi], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400f6c40
mov r11d, dword [rsp + 0x100]
add rbx, r15
mov byte [rsi + rcx], 0xff
add r10, r14
add rcx, r14
sub rbp, 1
jne 0x1400f6b70
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd r12, dword [rsp + 0x100]
mov ebp, eax
test rsi, rsi
jle 0x1400f6ce1
mov r9, rcx
mov rdi, rbx
sub r9, r14
sub rdi, r10
sub r9, r10
mov r15, rcx
sub r15, r10
mov r8, r10
mov r11, rsi
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r9 + r8]
movzx eax, byte [r8]
lea r8, [r8 + 1]
add edx, eax
shr edx, 1
add dl, byte [rdi + r8 - 1]
mov byte [r15 + r8 - 1], dl
sub r11, 1
jne 0x1400f6cc0
mov byte [rsi + rcx], 0xff
add rbx, r12
add rcx, r14
add r10, r14
sub rbp, 1
jne 0x1400f6c94
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
lea r8d, [rax - 1]
cmp r8d, 1
jb 0x1400f6f2c
movsxd rax, dword [rsp + 0x100]
lea rdi, [r14 + rsi]
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r11, qword [rsp + 0x20]
sub rdx, rcx
mov rax, r14
mov qword [rsp + 0x78], rdx
neg rax
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x30], rax
neg rdi
mov r9, qword [rsp + 0x30]
lea rax, [rsi + rcx]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xa8], rdi
nop dword [rax + rax]
test rsi, rsi
jle 0x1400f6e2b
lea r11, [rdi + rax]
mov r15, rsi
mov rax, r10
sub rax, rcx
lea rcx, [rdx + r10]
mov qword [rsp + 0xa0], rax
lea rax, [rdx + rbx]
mov r10, qword [rsp + 0xa0]
mov rsi, rax
movzx edi, byte [r11]
movzx r12d, byte [r11 + r10]
mov r8d, edi
movzx r13d, byte [rcx + r11]
sub r8d, r12d
lea r9d, [r8 + r13]
mov eax, r9d
sub r9d, r12d
sub eax, edi
cdq
mov ebp, eax
mov eax, r8d
xor ebp, edx
sub ebp, edx
cdq
mov r8d, eax
mov eax, r9d
xor r8d, edx
sub r8d, edx
cdq
xor eax, edx
sub eax, edx
cmp ebp, r8d
jg 0x1400f6dd6
cmp ebp, eax
jle 0x1400f6de0
cmp r8d, eax
mov edi, r12d
cmovle edi, r13d
movzx eax, byte [rsi + r11]
add al, dil
mov byte [r14 + r11], al
inc r11
sub r15, 1
jne 0x1400f6d91
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x30]
mov r11, qword [rsp + 0x20]
mov rdi, qword [rsp + 0xa8]
add rcx, r14
mov byte [rax], 0xff
add rax, r14
mov qword [rsp + 0x68], rcx
add rdx, r9
mov qword [rsp + 0x70], rax
add r10, r14
mov qword [rsp + 0x78], rdx
add rbx, r11
mov qword [rsp + 0x80], r10
sub r8, 1
mov qword [rsp + 0x88], r8
jne 0x1400f6d60
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f6ebb
mov r9, rcx
mov r10, rcx
sub r9, r14
mov rdx, rbx
sub r9, rbx
mov r8, rsi
sub r10, rbx
movzx eax, byte [rdx + r9]
lea rdx, [rdx + 1]
shr al, 1
add al, byte [rdx - 1]
mov byte [rdx + r10 - 1], al
sub r8, 1
jne 0x1400f6ea2
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f6e88
jmp case.default.0x1400f6a82
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f6a82
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f6f15
mov r9, rcx
mov r10, rcx
sub r9, r14
mov rdx, rbx
sub r9, rbx
mov r8, rsi
sub r10, rbx
movzx eax, byte [rdx + r9]
add al, byte [rdx]
mov byte [rdx + r10], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400f6f00
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f6ee6
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x130], 0x10
jne 0x1400f71dc
test eax, eax
je 0x1400f71dc
mov rcx, qword [rsp + 0xb0]
nop word [rax + rax]
mov byte [rsi + rcx + 1], 0xff
add rcx, r14
sub rax, 1
jne 0x1400f6f50
jmp 0x1400f71dc
mov edi, dword [rsp + 0x48]
dec edi
imul edi, dword [rsp + 0x100]
mov dword [rsp + 0x20], edi
cmp r11d, 6
ja case.default.0x1400f6f97
lea r8, [0x140000000]
movsxd rax, r11d
movsxd r9, edi
mov edx, dword [r8 + rax*4 + 0xf773c]
add rdx, r8
jmp rdx
mov r8, r9
mov rdx, rbx
call fcn.140278ed0
jmp case.default.0x1400f6f97
test edi, edi
jle case.default.0x1400f6f97
sub rcx, rbx
mov rdx, rbx
mov r8, rcx
sub r8, rsi
nop dword [rax]
movzx eax, byte [r8 + rdx]
add al, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400f6fc0
jmp case.default.0x1400f6f97
xor eax, eax
mov r8d, eax
test edi, edi
jle 0x1400f7077
cmp edi, 0x20
jb 0x1400f7077
lea eax, [rdi - 1]
movsxd rdx, eax
lea rax, [rdx + rbx]
lea r11, [rdx + rcx]
cmp rcx, rax
ja 0x1400f7007
cmp r11, rbx
jae 0x1400f7077
lea rax, [rdx + r10]
cmp rcx, rax
ja 0x1400f7015
cmp r11, r10
jae 0x1400f7077
mov edx, edi
and edx, 0x8000001f
jge 0x1400f7026
dec edx
or edx, 0xffffffe0
inc edx
mov eax, edi
mov r11, rcx
sub eax, edx
mov rdx, r10
sub rdx, rbx
movsxd rdi, eax
sub r11, rbx
mov rax, rbx
nop dword [rax]
movdqu xmm0, xmmword [rax]
add r8, 0x20
movdqu xmm1, xmmword [rdx + rax]
lea rax, [rax + 0x20]
paddb xmm1, xmm0
movdqu xmmword [rax + r11 - 0x20], xmm1
movdqu xmm2, xmmword [rdx + rax - 0x10]
movdqu xmm0, xmmword [rax - 0x10]
paddb xmm2, xmm0
movdqu xmmword [rax + r11 - 0x10], xmm2
cmp r8, rdi
jl 0x1400f7040
cmp r8, r9
jge case.default.0x1400f6f97
sub r10, rbx
lea rdx, [rbx + r8]
sub rcx, rbx
sub r9, r8
nop dword [rax]
movzx eax, byte [r10 + rdx]
add al, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400f7090
jmp case.default.0x1400f6f97
test edi, edi
jle case.default.0x1400f6f97
sub rcx, r10
mov r11, rbx
mov r8, rcx
sub r8, rsi
sub r11, r10
movzx eax, byte [r10]
movzx edx, byte [r8 + r10]
lea r10, [r10 + 1]
add edx, eax
movzx eax, byte [r11 + r10 - 1]
shr edx, 1
add al, dl
mov byte [rcx + r10 - 1], al
sub r9, 1
jne 0x1400f70c0
jmp case.default.0x1400f6f97
test edi, edi
jle case.default.0x1400f6f97
sub r10, rcx
mov r11, rcx
mov r13, rbx
sub r11, rsi
sub r13, rcx
add r13, rsi
lea r14, [rsi + r10]
nop word [rax + rax]
movzx edi, byte [r11]
movzx r15d, byte [r10 + r11]
mov ecx, edi
movzx r12d, byte [r14 + r11]
sub ecx, r15d
lea r8d, [r12 + rcx]
mov eax, r8d
sub r8d, r15d
sub eax, edi
cdq
mov ebp, eax
mov eax, ecx
xor ebp, edx
sub ebp, edx
cdq
mov ecx, eax
mov eax, r8d
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ebp, ecx
jg 0x1400f714f
cmp ebp, eax
jle 0x1400f7158
cmp ecx, eax
mov edi, r15d
cmovle edi, r12d
movzx eax, byte [r11 + r13]
add al, dil
mov byte [rsi + r11], al
inc r11
sub r9, 1
jne 0x1400f7110
mov r14, qword [rsp + 0xb8]
jmp case.default.0x1400f6f97
test edi, edi
jle case.default.0x1400f6f97
sub rcx, rbx
mov rdx, rbx
mov r8, rcx
sub r8, rsi
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
lea rdx, [rdx + 1]
shr al, 1
add al, byte [rdx - 1]
mov byte [rcx + rdx - 1], al
sub r9, 1
jne 0x1400f7190
jmp case.default.0x1400f6f97
test edi, edi
jle case.default.0x1400f6f97
sub rcx, rbx
mov rdx, rbx
mov r8, rcx
sub r8, rsi
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
add al, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1400f71c0
movsxd rax, dword [rsp + 0x20]
add rbx, rax
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x128]
inc ecx
mov r15d, dword [rsp + 0x100]
mov r13d, dword [rsp + 0x120]
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
mov dword [rsp + 0x4c], ecx
cmp ecx, edx
jb 0x1400f6840
lea r11, [0x140000000]
movsxd rbx, dword [rsp + 0x130]
cmp ebx, 8
jge 0x1400f7677
test edx, edx
je 0x1400f76c3
mov r15d, dword [rsp + 0x118]
lea r14, [rbx + 0x33fa90]
imul r15d, r13d
add r14, r11
movsxd rbp, r13d
xor eax, eax
mov r13d, dword [rsp + 0x138]
mov r12d, r8d
mov esi, edx
nop dword [rax]
mov eax, eax
mov r9, r15
sub r9, r12
add r9, rax
add r9, r10
lea r11, [rax + r10]
mov r8, r11
test r13d, r13d
jne 0x1400f7298
movzx r10d, byte [r14]
jmp 0x1400f729b
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.invalid_filter
jmp 0x1400f76dd
mov r10b, 1
cmp ebx, 4
jne 0x1400f7316
mov edi, dword [rsp + 0x40]
cmp edi, 2
jl 0x1400f72f5
mov ebx, edi
shr rbx, 1
mov eax, ebx
neg eax
lea edi, [rdi + rax*2]
nop word [rax + rax]
movzx eax, byte [r9]
shr al, 4
movzx edx, al
movzx ecx, r10b
imul edx, ecx
movzx ecx, r10b
mov byte [r8], dl
movzx eax, byte [r9]
inc r9
and al, 0xf
movzx edx, al
imul edx, ecx
mov byte [r8 + 1], dl
add r8, 2
sub rbx, 1
jne 0x1400f72c0
test edi, edi
jle 0x1400f75b9
movzx eax, byte [r9]
shr al, 4
movzx edx, al
movzx ecx, r10b
imul edx, ecx
mov byte [r8], dl
jmp 0x1400f75b9
cmp ebx, 2
jne 0x1400f73f7
mov edi, dword [rsp + 0x40]
cmp edi, 4
jl 0x1400f73a5
mov ebx, edi
shr rbx, 2
mov eax, ebx
neg eax
lea edi, [rdi + rax*4]
nop word [rax + rax]
movzx eax, byte [r9]
shr al, 6
movzx edx, al
movzx ecx, r10b
imul edx, ecx
movzx eax, r10b
mov byte [r8], dl
movzx ecx, byte [r9]
shr cl, 4
and cl, 3
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 1], cl
movzx ecx, byte [r9]
shr cl, 2
and cl, 3
movzx ecx, cl
imul ecx, eax
mov byte [r8 + 2], cl
movzx eax, byte [r9]
inc r9
and al, 3
movzx ecx, r10b
movzx edx, al
imul edx, ecx
mov byte [r8 + 3], dl
add r8, 4
sub rbx, 1
jne 0x1400f7340
test edi, edi
jle 0x1400f73c0
movzx eax, byte [r9]
shr al, 6
movzx edx, al
movzx ecx, r10b
imul edx, ecx
mov byte [r8], dl
inc r8
cmp edi, 1
jle 0x1400f73df
movzx ecx, byte [r9]
shr cl, 4
and cl, 3
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp edi, 2
jle 0x1400f75b9
movzx ecx, byte [r9]
shr cl, 2
and cl, 3
jmp 0x1400f75ac
cmp ebx, 1
jne 0x1400f75b9
mov ebx, dword [rsp + 0x40]
cmp ebx, 8
jl 0x1400f74e8
mov edi, ebx
shr rdi, 3
mov eax, edi
neg eax
lea ebx, [rbx + rax*8]
nop word [rax + rax]
movzx eax, byte [r9]
shr al, 7
movzx edx, al
movzx ecx, r10b
imul edx, ecx
movzx eax, r10b
mov byte [r8], dl
movzx ecx, byte [r9]
shr cl, 6
and cl, 1
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 1], cl
movzx ecx, byte [r9]
shr cl, 5
and cl, 1
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 2], cl
movzx ecx, byte [r9]
shr cl, 4
and cl, 1
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 3], cl
movzx ecx, byte [r9]
shr cl, 3
and cl, 1
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 4], cl
movzx ecx, byte [r9]
shr cl, 2
and cl, 1
movzx ecx, cl
imul ecx, eax
movzx eax, r10b
mov byte [r8 + 5], cl
movzx ecx, byte [r9]
shr cl, 1
and cl, 1
movzx ecx, cl
imul ecx, eax
mov byte [r8 + 6], cl
movzx eax, byte [r9]
inc r9
and al, 1
movzx ecx, r10b
movzx edx, al
imul edx, ecx
mov byte [r8 + 7], dl
add r8, 8
sub rdi, 1
jne 0x1400f7420
test ebx, ebx
jle 0x1400f7503
movzx eax, byte [r9]
shr al, 7
movzx edx, al
movzx ecx, r10b
imul edx, ecx
mov byte [r8], dl
inc r8
cmp ebx, 1
jle 0x1400f7522
movzx ecx, byte [r9]
shr cl, 6
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp ebx, 2
jle 0x1400f7541
movzx ecx, byte [r9]
shr cl, 5
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp ebx, 3
jle 0x1400f7560
movzx ecx, byte [r9]
shr cl, 4
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp ebx, 4
jle 0x1400f757f
movzx ecx, byte [r9]
shr cl, 3
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp ebx, 5
jle 0x1400f759e
movzx ecx, byte [r9]
shr cl, 2
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
inc r8
cmp ebx, 6
jle 0x1400f75b9
movzx ecx, byte [r9]
shr cl, 1
and cl, 1
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
mov byte [r8], cl
mov eax, dword [rsp + 0x28]
cmp eax, dword [rsp + 0x118]
je 0x1400f7646
cmp eax, 1
jne 0x1400f75f7
lea rcx, [rbp - 1]
test rcx, rcx
js 0x1400f7646
nop dword [rax + rax]
mov byte [r11 + rcx*2 + 1], 0xff
movzx eax, byte [rcx + r11]
mov byte [r11 + rcx*2], al
sub rcx, 1
jns 0x1400f75e0
jmp 0x1400f7646
lea r8, [rbp - 1]
test r8, r8
js 0x1400f7646
lea rdx, [r8*2 + 1]
add rdx, r11
lea rcx, [r8*4 + 2]
add rdx, r8
add rcx, r11
nop dword [rax]
sub r8, 1
mov byte [rcx + 1], 0xff
movzx eax, byte [rdx + 1]
lea rdx, [rdx - 3]
mov byte [rcx], al
lea rcx, [rcx - 4]
movzx eax, byte [rdx + 3]
mov byte [rcx + 3], al
movzx eax, byte [rdx + 2]
mov byte [rcx + 2], al
jns 0x1400f7620
mov rax, qword [rsp + 0x90]
add eax, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x130]
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
sub rsi, 1
jne 0x1400f7260
mov eax, 1
jmp 0x1400f76e8
cmp ebx, 0x10
jne 0x1400f76c3
mov eax, dword [rsp + 0x118]
mov r8, r10
imul eax, r13d
imul eax, edx
test eax, eax
je 0x1400f76c3
mov r9d, eax
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r10]
lea r10, [r10 + 2]
movzx ecx, byte [r8 + 1]
lea r8, [r8 + 2]
shl dx, 8
or dx, cx
mov word [r8 - 2], dx
sub r9, 1
jne 0x1400f76a0
mov eax, 1
jmp 0x1400f76e8
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, [0x14035a8a8]
mov edx, reloc.WS2_32.dll_recv
mov qword [rdx + rcx], rax
xor eax, eax
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret