Function at 0x140055e20
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
xor r13d, r13d
mov dword [rsp + 0x20], 0x746f464e
mov dword [rsp + 0x24], 0x4a566871
mov dword [rsp + 0x28], 0x6e785a44
mov dword [rsp + 0x2c], 0x3c52703f
mov dword [rsp + 0x30], 0x3c79664c
lea esi, [r13 + 1]
mov word [rsp + 0x34], 0x2b
mov dword [rsp + 0x38], 0x65006b
mov dword [rbp - 0x7d], 0x6e0072
mov dword [rbp - 0x79], 0x6c0065
mov dword [rbp - 0x75], 0x320033
mov dword [rbp - 0x71], 0x64002e
mov dword [rbp - 0x6d], 0x6c006c
mov word [rbp - 0x69], r13w
mov edx, 0x3d090c
mov eax, r13d
lea rcx, [rbp - 0x59]
mov byte [rcx], al
add eax, esi
add rcx, rsi
cmp eax, 0x6a
jb 0x140055d0d
sub rdx, rsi
jne 0x140055d06
cmp byte [rbp - 0x19], 0x40
jne 0x140055de9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov rdx, rbx
mov rcx, qword [rdx + 0x60]
mov r9d, r13d
mov rax, rcx
cmp word [rcx], r13w
je 0x140055d59
lea rax, [rax + 2]
add r9d, esi
cmp word [rax], r13w
jne 0x140055d4c
lea rax, [rsp + 0x38]
mov r8d, r13d
lea rax, [rax + 2]
add r8d, esi
cmp word [rax], r13w
jne 0x140055d61
cmp r9d, r8d
jne 0x140055dd2
lea r11, [rsp + 0x38]
mov r10d, r13d
sub r11, rcx
movzx r8d, word [rcx]
mov rax, rcx
mov r9d, r13d
test r8w, r8w
je 0x140055de3
lea rax, [rax + 2]
add r9d, esi
cmp word [rax], r13w
jne 0x140055d8e
cmp r10d, r9d
jae 0x140055de3
movzx r9d, word [r11 + rcx]
lea eax, [r8 - 0x41]
cmp ax, 0x19
ja 0x140055db4
add r8w, 0x20
lea eax, [r9 - 0x41]
cmp ax, 0x19
ja 0x140055dc3
add r9w, 0x20
cmp r8w, r9w
jne 0x140055dd2
add r10d, esi
add rcx, 2
jmp 0x140055d7e
mov rdx, qword [rdx]
cmp rdx, rbx
jne 0x140055d3c
mov rbx, r13
jmp 0x140055ded
mov rbx, qword [rdx + 0x30]
jmp 0x140055ded
mov rbx, qword [rbp + 0x67]
mov edx, 0xe3142
mov rcx, rbx
call fcn.1400561f6
mov edx, 0xd5786
mov rcx, rbx
mov rdi, rax
call fcn.1400561f6
mov edx, 0x348bfa
mov rcx, rbx
mov qword [rbp - 0x61], rax
call fcn.1400561f6
mov r15d, 0x3000
add byte [rcx - 0x44], al
add ah, ch
add dword [rax], eax
mov r9d, 4
xor ecx, ecx
mov r8d, r15d
mov edx, r12d
mov qword [rbp + 0x7f], rax
call rdi
movsx r8d, byte [rbp - 0x59]
movsx ebx, byte [rbp - 0x58]
mov r14, rax
mov eax, 0x92f11385
mov r9d, r13d
imul r8d
movsx eax, byte [rbp + 7]
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, eax
imul eax, edx, 0xe
movsxd r11, eax
mov eax, 0x2053e08b
imul r8d
sub edx, r8d
mov r8d, 0x66666667
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
imul ecx, edx, 0x156
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
imul edx
mov eax, r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx
mov eax, r8d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx
mov ecx, edx
sar ecx, 1
mov eax, ecx
shr eax, 0x1f
add ecx, eax
mov eax, 0xbfa02fe9
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx rax, byte [rbp - 0x59]
movsxd r10, edx
imul rcx, rax, 0xd7c
sub r10, rcx
add r10, r14
movsxd r8, r9d
movabs rax, 0x2e8ba2e8ba2e8ba3
mul r8
shr rdx, 2
imul rax, rdx, 0x16
sub r8, rax
mov eax, r9d
add r9d, esi
cdq
sub r8, r11
idiv ebx
movabs rdx, resource.11
movsxd rcx, eax
mov al, byte [rsp + r8 + 0x20]
xor al, byte [rcx + rdx]
mov byte [r10], al
add r10, rsi
cmp r9d, r12d
jb 0x140055f0b
movsxd rax, dword [r14 + 0x3c]
movsx r9d, byte [rbp - 0x51]
mov r8d, r15d
mov edx, dword [rax + r14 + 0x50]
shl r9d, 3
xor ecx, ecx
call rdi
mov rbx, rax
test rax, rax
je 0x1400561df
movsxd rdi, dword [r14 + 0x3c]
mov r12, rax
mov r8d, r13d
add rdi, r14
sub r12, qword [rdi + 0x30]
mov r9d, dword [rdi + 0x54]
movzx r10d, word [rdi + 0x14]
mov qword [rbp + 0x6f], r12
mov qword [rdi + 0x30], rax
test r9, r9
je 0x140055fba
mov rdx, r14
mov rcx, rax
sub rdx, rax
mov al, byte [rdx + rcx]
add r8d, esi
mov byte [rcx], al
movsxd rax, r8d
add rcx, rsi
cmp rax, r9
jb 0x140055fa7
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0x90]
mov r15, r13
mov esi, r13d
mov qword [rbp + 0x77], rax
cmp r13w, word [rdi + 6]
jae 0x1400561df
lea r9, [r10 + 0x24]
mov r12d, esi
add r9, rdi
mov r10d, dword [r9]
cmp eax, r10d
jb 0x140055fff
mov r8d, dword [r9 - 4]
add r8d, r10d
cmp eax, r8d
jae 0x140055fff
lea r15, [r9 - 0xc]
cmp ecx, r10d
jb 0x140056014
mov r8d, dword [r9 - 4]
add r8d, r10d
cmp ecx, r8d
jae 0x140056014
lea r12, [r9 - 0xc]
mov r11d, dword [r9 + 8]
mov r13d, dword [r9 + 4]
lea r8, [rbx + r10]
add r11, r14
xor r10d, r10d
test r13, r13
je 0x140056043
sub r11, r8
mov dl, byte [r11 + r8]
inc r10d
mov byte [r8], dl
movsxd rdx, r10d
inc r8
cmp rdx, r13
jb 0x14005602e
movzx edx, word [rdi + 6]
inc esi
add r9, 0x28
cmp esi, edx
jl 0x140055fe7
test r12, r12
mov r12, qword [rbp + 0x6f]
je 0x1400561df
mov r13d, dword [rbp + 0x7b]
xor edx, edx
test r13, r13
je 0x140056118
mov r9d, dword [r15 + 0x14]
add r9, rdx
add rdx, 8
mov r8d, dword [r9 + r14 + 4]
sub r8, 8
shr r8, 1
je 0x14005610f
mov eax, dword [r15 + 0x14]
add rax, rdx
add rdx, 2
movzx r10d, word [rax + r14]
mov eax, 0xf000
test ax, r10w
test eax, r10d
je 0x140056106
mov ecx, dword [r9 + r14]
and qword [rbp + 0x67], 0
and r10d, 0xfff
lea rax, [rbx + r10]
xor r11d, r11d
lea r10, [rbp + 0x67]
add rcx, rax
lea rax, [rbp + 0x67]
mov rsi, rcx
sub rsi, rax
mov al, byte [rsi + r10]
inc r11d
mov byte [r10], al
movsxd rax, r11d
inc r10
cmp rax, 8
jb 0x1400560cd
add qword [rbp + 0x67], r12
lea r11, [rbp + 0x67]
xor r10d, r10d
sub r11, rcx
mov al, byte [r11 + rcx]
inc r10d
mov byte [rcx], al
movsxd rax, r10d
inc rcx
cmp rax, 8
jb 0x1400560f1
dec r8
jne 0x14005608a
cmp rdx, r13
jb 0x14005606d
mov r15d, dword [rdi + 0x90]
add r15, rbx
je 0x1400561df
add r15, 0xc
cmp dword [r15], 0
je 0x14005618f
mov r13, qword [rbp + 0x7f]
mov ecx, dword [r15]
add rcx, rbx
call qword [rbp - 0x61]
mov r12, rax
test rax, rax
je 0x1400561df
mov esi, dword [r15 + 4]
add rsi, rbx
jmp 0x14005617f
mov rax, qword [rsi]
movabs rcx, 0x8000000000000000
test rcx, rax
mov rcx, r12
je 0x14005616e
movzx edx, ax
jmp 0x140056175
lea rdx, [rax + 2]
add rdx, rbx
call r13
mov qword [rsi], rax
add rsi, 8
cmp qword [rsi], 0
jne 0x140056154
add r15, 0x14
cmp dword [r15], 0
jne 0x140056136
movsxd rax, dword [r14 + 0x3c]
cmp dword [rax + r14 + 0xd0], 0
je 0x1400561c3
mov eax, dword [rdi + 0xd0]
mov rsi, qword [rax + rbx + 0x18]
jmp 0x1400561bb
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 1]
call rax
lea rsi, [rsi + 8]
mov rax, qword [rsi]
test rax, rax
jne 0x1400561ab
mov eax, dword [rdi + 0x28]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 1]
add rax, rbx
call rax
neg eax
sbb rax, rax
and rax, rbx
jmp 0x1400561e1
invalid