Function at 0x1400f1e20
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.1400ea950
test eax, eax
jne 0x1400f1ebb
mov r10d, r12d
jmp 0x1400f1ed4
mov eax, edi
imul eax, r13d
imul eax, dword [rsp + 0x128]
movsxd rcx, eax
call fcn.14027bdf8
mov r10, rax
mov qword [rsp + 0x58], r10
mov qword [rsi + 0x18], r10
test r10, r10
jne 0x1400f1efa
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.outofmem
jmp 0x1400f2e7d
movsxd r9, dword [rsp + 0x28]
test r9d, r9d
js 0x1400f2e6a
test r13d, r13d
js 0x1400f2e6a
je 0x1400f1f2d
mov eax, 0x7fffffff
mov ecx, r12d
cdq
idiv r13d
cmp r9d, eax
setle cl
test ecx, ecx
je 0x1400f2e6a
mov r8d, r9d
imul r8d, r13d
mov dword [rsp + 0x40], r8d
test r8d, r8d
js 0x1400f2e6a
test r14d, r14d
js 0x1400f2e6a
je 0x1400f1f67
mov eax, 0x7fffffff
mov ecx, r12d
cdq
idiv r14d
cmp r8d, eax
setle cl
test ecx, ecx
je 0x1400f2e6a
mov eax, r8d
imul eax, r14d
cmp eax, 0x7ffffff8
jg 0x1400f2e6a
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 0x1400f1fb0
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.not_enough_pixels
jmp 0x1400f2e7d
lea r11, [0x140000000]
mov ecx, r12d
mov dword [rsp + 0x4c], ecx
test edx, edx
je 0x1400f29bb
movsxd rsi, r15d
movsxd r14, edi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x38], r9
jmp 0x1400f1fe3
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 0x1400f2a20
mov edi, dword [rsp + 0x130]
mov ebp, dword [rsp + 0x118]
cmp edi, 8
jge 0x1400f204a
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 0x1400f206d
movzx r11d, byte [r11 + r13 + 0x338664]
test rsi, rsi
jle 0x1400f2190
mov r9, rdx
sub r10, rbx
sub r9, rbx
mov rcx, rbx
mov rdx, rsi
cmp r11d, 6
ja case.default.0x1400f2099
movsxd rax, r11d
mov eax, dword [r13 + rax*4 + 0xf2ea4]
add rax, r13
jmp rax
inc rcx
sub rdx, 1
jne 0x1400f2085
jmp 0x1400f2181
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f2181
jmp case.0x1400f2099.0
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f2181
jmp case.0x1400f2099.1
movzx eax, byte [r10 + rcx]
add al, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f2181
jmp case.0x1400f2099.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 0x1400f2181
jmp case.0x1400f2099.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 0x1400f2181
jmp case.0x1400f2099.4
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
je 0x1400f2181
jmp case.0x1400f2099.5
movzx eax, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne case.0x1400f2099.6
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
cmp edi, 8
jne 0x1400f21a8
cmp dword [rsp + 0x28], ebp
je 0x1400f21a0
mov byte [r9 + rdx], 0xff
movsxd rax, ebp
mov rdx, r9
jmp 0x1400f21cb
cmp edi, 0x10
jne 0x1400f21c4
cmp dword [rsp + 0x28], ebp
je 0x1400f21b9
mov word [rsi + rdx], 0xffff
mov rax, r14
movsxd rdx, r15d
mov rcx, r14
jmp 0x1400f21ce
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 0x1400f2703
mov eax, dword [rsp + 0x28]
cmp eax, dword [rsp + 0x118]
je 0x1400f2703
cmp r11d, 6
ja case.default.0x1400f2222
movsxd rax, r11d
lea r11, [0x140000000]
mov edx, dword [r11 + rax*4 + 0xf2ec0]
add rdx, r11
jmp rdx
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd r11, dword [rsp + 0x100]
mov r10d, eax
test rsi, rsi
jle 0x1400f2271
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 0x1400f2260
mov byte [rsi + rcx], 0xff
add rbx, r11
add rcx, r14
sub r10, 1
jne 0x1400f2241
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f22d5
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 0x1400f22c0
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f22a3
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd r11, dword [rsp + 0x100]
mov r15, r11
mov ebp, eax
nop dword [rax]
xor eax, eax
mov r8d, eax
test r11d, r11d
jle 0x1400f23b9
cmp r11d, 0x20
jb 0x1400f23b9
lea eax, [r11 - 1]
movsxd rdx, eax
lea rax, [rdx + rbx]
lea r9, [rdx + rcx]
cmp rcx, rax
ja 0x1400f2341
cmp r9, rbx
jae 0x1400f23b9
lea rax, [rdx + r10]
cmp rcx, rax
ja 0x1400f234f
cmp r9, r10
jae 0x1400f23b9
mov edx, r11d
and edx, 0x8000001f
jge 0x1400f2361
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 0x1400f2380
cmp r8, rsi
jge 0x1400f23f4
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 0x1400f23e0
mov r11d, dword [rsp + 0x100]
add rbx, r15
mov byte [rsi + rcx], 0xff
add r10, r14
add rcx, r14
sub rbp, 1
jne 0x1400f2310
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd r12, dword [rsp + 0x100]
mov ebp, eax
test rsi, rsi
jle 0x1400f2481
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 0x1400f2460
mov byte [rsi + rcx], 0xff
add rbx, r12
add rcx, r14
add r10, r14
sub rbp, 1
jne 0x1400f2434
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
lea r8d, [rax - 1]
cmp r8d, 1
jb 0x1400f26cc
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 0x1400f25cb
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 0x1400f2576
cmp ebp, eax
jle 0x1400f2580
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 0x1400f2531
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 0x1400f2500
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f265b
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 0x1400f2642
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f2628
jmp case.default.0x1400f2222
mov eax, dword [rsp + 0x120]
dec eax
cmp eax, 1
jb case.default.0x1400f2222
movsxd rdi, dword [rsp + 0x100]
mov r11d, eax
test rsi, rsi
jle 0x1400f26b5
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 0x1400f26a0
mov byte [rsi + rcx], 0xff
add rbx, rdi
add rcx, r14
sub r11, 1
jne 0x1400f2686
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x130], 0x10
jne 0x1400f297c
test eax, eax
je 0x1400f297c
mov rcx, qword [rsp + 0xb0]
nop word [rax + rax]
mov byte [rsi + rcx + 1], 0xff
add rcx, r14
sub rax, 1
jne 0x1400f26f0
jmp 0x1400f297c
mov edi, dword [rsp + 0x48]
dec edi
imul edi, dword [rsp + 0x100]
mov dword [rsp + 0x20], edi
cmp r11d, 6
ja case.default.0x1400f2737
lea r8, [0x140000000]
movsxd rax, r11d
movsxd r9, edi
mov edx, dword [r8 + rax*4 + 0xf2edc]
add rdx, r8
jmp rdx
mov r8, r9
mov rdx, rbx
call fcn.1402743b0
jmp case.default.0x1400f2737
test edi, edi
jle case.default.0x1400f2737
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 0x1400f2760
jmp case.default.0x1400f2737
xor eax, eax
mov r8d, eax
test edi, edi
jle 0x1400f2817
cmp edi, 0x20
jb 0x1400f2817
lea eax, [rdi - 1]
movsxd rdx, eax
lea rax, [rdx + rbx]
lea r11, [rdx + rcx]
cmp rcx, rax
ja 0x1400f27a7
cmp r11, rbx
jae 0x1400f2817
lea rax, [rdx + r10]
cmp rcx, rax
ja 0x1400f27b5
cmp r11, r10
jae 0x1400f2817
mov edx, edi
and edx, 0x8000001f
jge 0x1400f27c6
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 0x1400f27e0
cmp r8, r9
jge case.default.0x1400f2737
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 0x1400f2830
jmp case.default.0x1400f2737
test edi, edi
jle case.default.0x1400f2737
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 0x1400f2860
jmp case.default.0x1400f2737
test edi, edi
jle case.default.0x1400f2737
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 0x1400f28ef
cmp ebp, eax
jle 0x1400f28f8
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 0x1400f28b0
mov r14, qword [rsp + 0xb8]
jmp case.default.0x1400f2737
test edi, edi
jle case.default.0x1400f2737
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 0x1400f2930
jmp case.default.0x1400f2737
test edi, edi
jle case.default.0x1400f2737
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 0x1400f2960
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 0x1400f1fe0
lea r11, [0x140000000]
movsxd rbx, dword [rsp + 0x130]
cmp ebx, 8
jge 0x1400f2e17
test edx, edx
je 0x1400f2e63
mov r15d, dword [rsp + 0x118]
lea r14, [rbx + 0x339ef0]
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 0x1400f2a38
movzx r10d, byte [r14]
jmp 0x1400f2a3b
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, str.invalid_filter
jmp 0x1400f2e7d
mov r10b, 1
cmp ebx, 4
jne 0x1400f2ab6
mov edi, dword [rsp + 0x40]
cmp edi, 2
jl 0x1400f2a95
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 0x1400f2a60
test edi, edi
jle 0x1400f2d59
movzx eax, byte [r9]
shr al, 4
movzx edx, al
movzx ecx, r10b
imul edx, ecx
mov byte [r8], dl
jmp 0x1400f2d59
cmp ebx, 2
jne 0x1400f2b97
mov edi, dword [rsp + 0x40]
cmp edi, 4
jl 0x1400f2b45
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 0x1400f2ae0
test edi, edi
jle 0x1400f2b60
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 0x1400f2b7f
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 0x1400f2d59
movzx ecx, byte [r9]
shr cl, 2
and cl, 3
jmp 0x1400f2d4c
cmp ebx, 1
jne 0x1400f2d59
mov ebx, dword [rsp + 0x40]
cmp ebx, 8
jl 0x1400f2c88
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 0x1400f2bc0
test ebx, ebx
jle 0x1400f2ca3
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 0x1400f2cc2
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 0x1400f2ce1
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 0x1400f2d00
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 0x1400f2d1f
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 0x1400f2d3e
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 0x1400f2d59
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 0x1400f2de6
cmp eax, 1
jne 0x1400f2d97
lea rcx, [rbp - 1]
test rcx, rcx
js 0x1400f2de6
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 0x1400f2d80
jmp 0x1400f2de6
lea r8, [rbp - 1]
test r8, r8
js 0x1400f2de6
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 0x1400f2dc0
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 0x1400f2a00
mov eax, 1
jmp 0x1400f2e88
cmp ebx, 0x10
jne 0x1400f2e63
mov eax, dword [rsp + 0x118]
mov r8, r10
imul eax, r13d
imul eax, edx
test eax, eax
je 0x1400f2e63
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 0x1400f2e40
mov eax, 1
jmp 0x1400f2e88
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, [0x140353d38]
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