Function at 0x1400b1b40
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbp
push rbx
push rdi
push r12
push r14
lea rbp, [rsp - 0x3800]
mov eax, 0x3900
call fcn.1400fc7a0
sub rsp, rax
mov rax, qword [0x140153558]
xor rax, rsp
mov qword [rbp + 0x37e0], rax
xor eax, eax
mov qword [rbp - 0x48], rdx
xor r12d, r12d
mov qword [rbp - 0x58], rcx
mov ebx, r12d
mov dword [rbp - 0x40], eax
mov rdi, rdx
mov word [rbp - 0x3c], ax
mov r14, rcx
nop dword [rax + rax]
mov rcx, rdi
call fcn.1400bf3b0
mov byte [rbp + rbx - 0x40], al
inc rbx
cmp rbx, 6
jl 0x1400b1b90
cmp byte [rbp - 0x40], 0x47
jne 0x1400b25d0
cmp byte [rbp - 0x3f], 0x49
jne 0x1400b25d0
cmp byte [rbp - 0x3e], 0x46
jne 0x1400b25d0
movsx edx, byte [rbp - 0x3d]
movsx eax, byte [rbp - 0x3b]
movsx ecx, byte [rbp - 0x3c]
mov qword [rsp + 0x3940], rsi
mov qword [rsp + 0x38f8], r13
mov qword [rsp + 0x38f0], r15
cmp dl, 0x38
jne 0x1400b1bf5
cmp cl, 0x39
jg 0x1400b1bf5
cmp al, 0x61
je 0x1400b1c10
mov r9d, ecx
mov dword [rsp + 0x20], eax
mov r8d, edx
lea rcx, str._s_is_version__c_c_c.
mov rdx, qword [rdi + 0x20]
call qword [0x140151ac0]
mov rcx, rdi
call fcn.1400bf4c0
mov rcx, rdi
call fcn.1400bf4c0
mov rcx, rdi
call fcn.1400bf3b0
movzx ebx, al
mov r14d, 2
mov ecx, ebx
and ecx, 7
shl r14d, cl
test bl, bl
lea r15d, [rcx + 1]
cmovns r14d, r12d
mov rcx, rdi
mov dword [rsp + 0x54], r15d
call fcn.1400bf3b0
mov rcx, rdi
call fcn.1400bf3b0
xor al, al
xor r13b, r13b
mov byte [rsp + 0x30], al
mov dword [rsp + 0x68], r13d
test bl, bl
jns 0x1400b1ca7
movsxd rsi, r14d
test r14d, r14d
jle 0x1400b1ca7
mov rbx, r12
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
mov byte [rbp + rbx - 0x30], al
call fcn.1400bf3b0
mov rcx, rdi
mov byte [rbp + rbx + 0xd0], al
call fcn.1400bf3b0
mov byte [rbp + rbx + 0x1d0], al
inc rbx
cmp rbx, rsi
jl 0x1400b1c75
mov rcx, rdi
call fcn.1400bf3b0
mov r15d, 1
movzx r8d, al
cmp r8d, 0x21
jne 0x1400b1d69
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
movzx esi, al
call fcn.1400bf3b0
movzx ebx, al
cmp sil, 0xf9
jne 0x1400b1d1b
cmp ebx, 4
jne 0x1400b1d21
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
movzx ebx, al
call fcn.1400bf4c0
mov rcx, rdi
call fcn.1400bf3b0
test r15b, bl
movzx r13d, r13b
mov rcx, rdi
mov byte [rsp + 0x30], al
cmovne r13d, r15d
call fcn.1400bf3b0
movzx ebx, al
jmp 0x1400b1d35
cmp sil, 0xfd
ja 0x1400b1d35
mov rdx, qword [rdi + 0x20]
lea rcx, str._s:_unknown_gif_extension_0x_02x.
mov r8d, esi
call qword [0x140151ac0]
test ebx, ebx
je 0x1400b1d80
nop dword [rax]
mov rcx, rdi
call fcn.1400bf3b0
sub ebx, r15d
jne 0x1400b1d40
mov rcx, rdi
call fcn.1400bf3b0
movzx ebx, al
test al, al
jne 0x1400b1d40
mov rcx, rdi
call fcn.1400bf3b0
jmp 0x1400b1cb5
cmp r8d, 0x2c
je 0x1400b1d8d
mov rdx, qword [rdi + 0x20]
lea rcx, str._s:_unknown_gif_code_0x_02x
call qword [0x140151ac0]
mov rcx, rdi
call fcn.1400bf3b0
jmp 0x1400b1cb5
mov rcx, rdi
mov dword [rsp + 0x68], r13d
call fcn.1400bf3b0
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
call fcn.1400bf4c0
movzx esi, ax
mov rcx, rdi
mov dword [rsp + 0x3c], esi
call fcn.1400bf4c0
movzx r13d, ax
mov rcx, rdi
mov dword [rbp - 0x40], r13d
call fcn.1400bf3b0
mov r15d, dword [rsp + 0x54]
mov byte [rsp + 0x40], al
test al, al
jns 0x1400b1e3a
movzx ecx, al
mov r14d, 2
and ecx, 7
shl r14d, cl
movsxd rsi, r14d
lea r15d, [rcx + 1]
test r14d, r14d
jle 0x1400b1e36
mov rbx, r12
mov rcx, rdi
call fcn.1400bf3b0
mov rcx, rdi
mov byte [rbp + rbx - 0x30], al
call fcn.1400bf3b0
mov rcx, rdi
mov byte [rbp + rbx + 0xd0], al
call fcn.1400bf3b0
mov byte [rbp + rbx + 0x1d0], al
inc rbx
cmp rbx, rsi
jl 0x1400b1e04
mov esi, dword [rsp + 0x3c]
mov rcx, rdi
call fcn.1400bf3b0
movzx ecx, al
mov ebx, 1
shl ebx, cl
mov eax, ebx
mov dword [rsp + 0x64], ebx
lea edx, [rcx + 1]
cmp r15d, edx
mov dword [rsp + 0x38], edx
cmovb eax, r14d
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x1400b1eea
mov rdx, qword [rdi + 0x20]
lea rcx, str._s_does_not_have_a_color_table__using_default._n
call qword [0x140151ac0]
movsxd rax, ebx
mov dword [rsp + 0x54], eax
mov r9, rax
mov word [rbp + 0x1d0], 0xff00
mov word [rbp + 0xd0], 0xff00
mov word [rbp - 0x30], 0xff00
cmp rax, 2
jle 0x1400b1eea
lea r10d, [rax - 1]
mov r8d, 0x1fe
mov rcx, r12
add r9, 0xfffffffffffffffe
nop word [rax + rax]
mov eax, r8d
lea rcx, [rcx + 1]
cdq
add r8d, 0xff
idiv r10d
mov byte [rbp + rcx + 0x1d1], al
mov byte [rbp + rcx + 0xd1], al
mov byte [rbp + rcx - 0x2f], al
sub r9, 1
jne 0x1400b1ec0
mov eax, r13d
imul eax, esi
cdqe
mov rcx, rax
mov qword [rbp - 0x70], rax
call fcn.1400fbf44
movsxd rcx, dword [rsp + 0x3c]
mov edx, 1
mov qword [rbp - 0x60], rcx
mov rsi, rax
mov qword [rsp + 0x78], rax
mov ebx, r12d
mov r14d, r12d
xor r15d, r15d
lea r12, [rcx + rax]
mov dword [rsp + 0x50], r15d
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x64]
shl edx, cl
mov dword [rbp - 0x7c], ecx
mov dword [rsp + 0x5c], eax
lea r8d, [rax + 2]
lea ecx, [rdx - 1]
mov dword [rsp + 0x48], r8d
mov dword [rbp - 0x78], ecx
mov dword [rsp + 0x58], ecx
mov rcx, rdi
mov dword [rsp + 0x44], r8d
call fcn.1400bf3b0
movzx eax, al
mov rcx, rdi
mov dword [rsp + 0x34], eax
call fcn.1400bf3b0
mov edx, dword [rsp + 0x34]
mov ecx, r15d
movsxd r15, dword [rsp + 0x48]
dec edx
mov r10d, dword [rsp + 0x44]
movzx r9d, al
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x60], ecx
mov qword [rbp - 0x50], r15
mov dword [rsp + 0x48], r9d
mov qword [rsp + 0x70], r15
nop word [rax + rax]
mov qword [rbp - 0x68], r15
mov r8d, r9d
lea r15d, [rcx + rax]
mov dword [rbp - 0x80], r10d
mov dword [rsp + 0x4c], r9d
cmp r15d, 7
jle 0x1400b2003
test edx, edx
jg 0x1400b1fd5
mov rcx, rdi
call fcn.1400bf3b0
movzx eax, al
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400b22cd
mov rcx, rdi
call fcn.1400bf3b0
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x4c]
dec edx
movzx r9d, al
mov eax, r9d
mov dword [rsp + 0x34], edx
shl eax, 8
or r8d, eax
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x4c], r8d
cmp r15d, 0xf
jle 0x1400b2048
test edx, edx
jg 0x1400b2024
mov rcx, rdi
call fcn.1400bf3b0
movzx eax, al
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400b22cd
mov rcx, rdi
call fcn.1400bf3b0
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x4c]
dec edx
movzx eax, al
mov dword [rsp + 0x48], eax
shl eax, 0x10
or r8d, eax
mov dword [rsp + 0x34], edx
mov ecx, dword [rsp + 0x60]
sar r8d, cl
mov ecx, r15d
and r8d, dword [rsp + 0x58]
and ecx, 0x80000007
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x60], ecx
jge 0x1400b2073
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dword [rsp + 0x60], ecx
mov r9d, dword [rsp + 0x64]
cmp r8d, r9d
jne 0x1400b20ac
mov r8d, dword [rbp - 0x78]
mov eax, dword [rbp - 0x7c]
mov r15, qword [rbp - 0x50]
mov dword [rsp + 0x58], r8d
lea r8d, [r9 + 2]
mov dword [rsp + 0x5c], r9d
mov r10d, r8d
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x44], r8d
mov dword [rsp + 0x38], eax
jmp 0x1400b1f92
lea eax, [r9 + 1]
cmp r8d, eax
je 0x1400b22cd
lea rdx, [rbp + 0x3d0]
cmp r8d, dword [rsp + 0x44]
jge 0x1400b20d1
mov r9d, r8d
mov dword [rsp + 0x50], r8d
jmp 0x1400b20f2
jne 0x1400b22bc
mov eax, dword [rsp + 0x50]
lea rdx, [rbp + 0x3d1]
mov r9d, dword [rsp + 0x5c]
mov byte [rbp + 0x3d0], al
mov dword [rsp + 0x50], r9d
mov r15d, dword [rsp + 0x54]
cmp r9d, r15d
jl 0x1400b2123
nop dword [rax]
movsxd rcx, r9d
movzx eax, byte [rbp + rcx + 0x27e0]
movsx r9d, word [rbp + rcx*2 + 0x7e0]
mov byte [rdx], al
inc rdx
cmp r9d, r15d
jge 0x1400b2100
mov dword [rsp + 0x50], r9d
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x3c]
mov byte [rdx], r9b
inc rdx
mov r9, qword [rbp - 0x60]
xor edi, edi
lea r11d, [rdi + 1]
nop
movzx eax, byte [rdx - 1]
dec rdx
mov byte [rsi], al
inc rsi
cmp rsi, r12
jb 0x1400b21e0
test r10b, 0x40
jne 0x1400b215f
inc ebx
jmp 0x1400b21c6
mov ecx, r14d
test r14d, r14d
je 0x1400b21b6
sub ecx, r11d
je 0x1400b2197
sub ecx, r11d
je 0x1400b217b
cmp ecx, r11d
jne 0x1400b21c6
add ebx, 2
jmp 0x1400b21c6
add ebx, 4
mov r14d, edi
cmp ebx, r13d
mov eax, ebx
cmovge ebx, r11d
cmp eax, r13d
setge r14b
add r14d, 2
jmp 0x1400b21c6
add ebx, 8
mov r14d, edi
cmp ebx, r13d
mov eax, ebx
mov ecx, 2
cmovge ebx, ecx
cmp eax, r13d
setge r14b
inc r14d
jmp 0x1400b21c6
add ebx, 8
cmp ebx, r13d
jl 0x1400b21c6
mov r14d, r11d
mov ebx, 4
cmp ebx, r13d
mov eax, edi
cmovl eax, ebx
mov ebx, eax
imul eax, r8d
movsxd rsi, eax
add rsi, qword [rsp + 0x78]
lea r12, [r9 + rsi]
lea rax, [rbp + 0x3d0]
cmp rdx, rax
ja 0x1400b2140
mov eax, dword [rsp + 0x5c]
mov rdi, qword [rbp - 0x48]
mov r8d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
cmp eax, dword [rsp + 0x64]
je 0x1400b22a1
mov word [rbp + r15*2 + 0x7e0], ax
inc r10d
mov eax, dword [rsp + 0x38]
mov byte [rbp + r15 + 0x27e0], r9b
inc r15
mov dword [rsp + 0x44], r10d
mov qword [rsp + 0x70], r15
cmp r10d, r11d
jle 0x1400b22a5
cmp eax, 0xc
jge 0x1400b2278
mov edx, dword [rsp + 0x34]
inc eax
mov r9d, dword [rsp + 0x48]
mov ecx, eax
mov dword [rsp + 0x38], eax
mov eax, 1
shl eax, cl
dec eax
mov dword [rsp + 0x5c], r8d
mov dword [rsp + 0x58], eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
jmp 0x1400b1fa0
mov r15, qword [rbp - 0x68]
mov r10d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x48]
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x5c], r8d
jmp 0x1400b1fa0
mov eax, dword [rsp + 0x38]
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x5c], r8d
jmp 0x1400b1fa0
mov rdx, qword [rdi + 0x20]
lea rcx, str.Fl_GIF_Image:__s___LZW_Barf_
call qword [str._A_n_]
mov rcx, qword [rbp - 0x58]
mov r14, r13
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 8], eax
mov dword [rcx + 0x1c], eax
mov eax, 1
mov dword [rcx + 0x10], eax
mov eax, 8
mov dword [rcx + 0xc], r13d
mov dword [rcx + 0x20], r13d
lea rcx, [r13 + 2]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400fbf44
mov r9d, dword [rsp + 0x68]
mov r15, rax
mov r8, qword [rsp + 0x78]
mov r10, qword [rbp - 0x70]
mov qword [rbp - 0x68], rax
test r9b, r9b
je 0x1400b23a6
movzx eax, byte [rsp + 0x30]
test al, al
je 0x1400b23a6
lea rcx, [r10 + r8]
cmp rcx, r8
jbe 0x1400b235b
nop dword [rax]
movzx edx, byte [rcx - 1]
dec rcx
cmp dl, al
jne 0x1400b2350
mov byte [rcx], 0
jmp 0x1400b2356
test dl, dl
jne 0x1400b2356
mov byte [rcx], al
cmp rcx, r8
ja 0x1400b2340
movzx ecx, byte [rbp - 0x30]
mov rdx, rax
movzx eax, byte [rbp + rax - 0x30]
mov byte [rbp - 0x30], al
movzx eax, byte [rbp + rdx + 0xd0]
mov byte [rbp + rdx - 0x30], cl
movzx ecx, byte [rbp + 0xd0]
mov byte [rbp + 0xd0], al
movzx eax, byte [rbp + rdx + 0x1d0]
mov byte [rbp + rdx + 0xd0], cl
movzx ecx, byte [rbp + 0x1d0]
mov byte [rbp + 0x1d0], al
mov byte [rbp + rdx + 0x1d0], cl
movsxd rax, dword [rsp + 0x54]
xor r12d, r12d
mov rdi, rax
test eax, eax
jle 0x1400b23dc
mov eax, r12d
nop dword [rax + rax]
cmp rax, 0x100
jae 0x1400b25eb
mov byte [rbp + rax + 0x2d0], r12b
inc rax
cmp rax, rdi
jl 0x1400b23c0
lea rbx, [r10 + r8]
mov rcx, rbx
cmp rbx, r8
jbe 0x1400b2404
nop dword [rax + rax]
movzx eax, byte [rcx - 1]
dec rcx
mov byte [rbp + rax + 0x2d0], 1
cmp rcx, r8
ja 0x1400b23f0
test r9b, r9b
je 0x1400b2417
cmp byte [rbp + 0x2d0], 0
mov ecx, 0x20
jne 0x1400b241c
mov ecx, 0x21
mov esi, r12d
test rdi, rdi
jle 0x1400b244d
mov rax, r12
nop word [rax + rax]
cmp byte [rbp + rax + 0x2d0], 0
je 0x1400b2445
mov byte [rbp + rax + 0x7e0], cl
inc ecx
inc esi
inc rax
cmp rax, rdi
jl 0x1400b2430
mov r8d, dword [rsp + 0x3c]
lea rcx, [rbp + 0x27e0]
mov eax, esi
mov edx, 1
mov dword [rsp + 0x28], edx
neg eax
lea rdx, str._d__d__d__d
mov dword [rsp + 0x20], eax
mov r9d, r13d
call fcn.14000a080
inc eax
movsxd rcx, eax
call fcn.1400fbf44
mov qword [r15], rax
lea rdx, [rbp + 0x27e0]
nop dword [rax]
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x1400b2490
lea eax, [rsi*4]
movsxd rcx, eax
call fcn.1400fbf44
mov qword [r15 + 8], rax
mov rdx, rax
test rdi, rdi
jle 0x1400b2503
mov r8, r12
nop
cmp byte [rbp + r8 + 0x2d0], 0
je 0x1400b24fb
movzx eax, byte [rbp + r8 - 0x30]
movzx ecx, byte [rbp + r8 + 0x7e0]
mov byte [rdx], cl
mov byte [rdx + 1], al
movzx eax, byte [rbp + r8 + 0xd0]
mov byte [rdx + 2], al
movzx eax, byte [rbp + r8 + 0x1d0]
mov byte [rdx + 3], al
add rdx, 4
inc r8
cmp r8, rdi
jl 0x1400b24c0
mov rsi, qword [rsp + 0x78]
cmp rbx, rsi
jbe 0x1400b2526
nop dword [rax]
movzx eax, byte [rbx - 1]
dec rbx
movzx ecx, byte [rbp + rax + 0x7e0]
mov byte [rbx], cl
cmp rbx, rsi
ja 0x1400b2510
test r13d, r13d
je 0x1400b2579
mov edi, dword [rsp + 0x3c]
lea rbx, [r15 + 0x10]
mov r13, qword [rbp - 0x60]
inc edi
mov r15d, dword [rsp + 0x3c]
nop
mov rcx, rdi
call fcn.1400fbf44
movsxd rdx, r12d
mov r8, r13
add rdx, rsi
mov qword [rbx], rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
lea rbx, [rbx + 8]
add r12d, r15d
mov byte [rax + r13], 0
sub r14, 1
jne 0x1400b2540
mov r15, qword [rbp - 0x68]
mov r13d, dword [rbp - 0x40]
mov r14, qword [rbp - 0x58]
lea eax, [r13 + 2]
mov rcx, rsi
mov dword [r14 + 0x18], eax
mov eax, 1
mov dword [r14 + 0x30], eax
mov qword [r14 + 0x28], r15
call fcn.1400fbf3c
mov r13, qword [rsp + 0x38f8]
mov rsi, qword [rsp + 0x3940]
mov r15, qword [rsp + 0x38f0]
mov rcx, qword [rbp + 0x37e0]
xor rcx, rsp
call fcn.1400fbfe0
add rsp, 0x3900
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret
mov rdx, qword [rdi + 0x20]
lea rcx, str.Fl_GIF_Image:__s_is_not_a_GIF_file._n
call qword [str._A_n_]
mov dword [r14 + 0x14], 0xfffffffd
jmp 0x1400b25b2
call fcn.1400fc5f0
int3