Function at 0x4a0d80
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x20
mov rbp, rsp
mov eax, edx
add eax, eax
add eax, eax
add eax, r8d
add eax, 0xdeadbeef
mov dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x14]
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov dword [rbp + 0xc], eax
mov qword [rbp + 0x18], rcx
mov eax, dword [rbp + 0x18]
test eax, 3
jne 0x4a10ad
cmp edx, 0xc
jle 0x4a0ea4
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 4
shr eax, 0x1c
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 6
shr eax, 0x1a
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
add dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 8
shr eax, 0x18
or ecx, eax
mov eax, ecx
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
add dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 0x10
shr eax, 0x10
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 0x13
shr eax, 0xd
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
add dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 4
shr eax, 0x1c
or ecx, eax
mov eax, ecx
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
add dword [rbp + 0x10], eax
sub edx, 0xc
add qword [rbp + 0x18], 0xc
cmp edx, 0xc
jg 0x4a0dc2
nop
cmp edx, 6
jg 0x4a0f00
cmp edx, 6
je 0x4a0fbf
cmp edx, 3
jg 0x4a0ee5
cmp edx, 3
je 0x4a0f7f
sub edx, 1
cmp edx, 0xffffffff
je 0x4a0f4f
test edx, edx
je 0x4a0f57
sub edx, 1
test edx, edx
jne 0x4a134f
jmp 0x4a0f6b
sub edx, 4
test edx, edx
je 0x4a0f93
sub edx, 1
test edx, edx
jne 0x4a134f
jmp 0x4a0fa1
cmp edx, 0xa
jg 0x4a0f34
cmp edx, 0xa
je 0x4a103b
sub edx, 7
test edx, edx
je 0x4a0fdd
sub edx, 1
test edx, edx
je 0x4a0ffb
sub edx, 1
test edx, edx
jne 0x4a134f
jmp 0x4a1013
sub edx, 0xb
test edx, edx
je 0x4a1063
sub edx, 1
test edx, edx
jne 0x4a134f
jmp 0x4a108b
mov eax, dword [rbp + 0xc]
jmp 0x4a13fa
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
and eax, 0xff
add dword [rbp + 0x14], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
and eax, 0xffff
add dword [rbp + 0x14], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
and eax, 0xffffff
add dword [rbp + 0x14], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
and eax, 0xff
add dword [rbp + 0x10], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
and eax, 0xffff
add dword [rbp + 0x10], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
and eax, 0xffffff
add dword [rbp + 0x10], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
and eax, 0xff
add dword [rbp + 0xc], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
and eax, 0xffff
add dword [rbp + 0xc], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
and eax, 0xffffff
add dword [rbp + 0xc], eax
jmp 0x4a134f
mov rax, qword [rbp + 0x18]
mov eax, dword [rax]
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
add dword [rbp + 0xc], eax
jmp 0x4a134f
cmp edx, 0xc
jle 0x4a121c
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax]
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 1]
shl ecx, 8
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 2]
shl ecx, 0x10
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 3]
shl ecx, 0x18
add eax, ecx
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 4]
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 5]
shl ecx, 8
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 6]
shl ecx, 0x10
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 7]
shl ecx, 0x18
add eax, ecx
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 8]
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 9]
shl ecx, 8
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 0xa]
shl ecx, 0x10
add eax, ecx
mov rcx, qword [rbp + 0x18]
movzx rcx, byte [rcx + 0xb]
shl ecx, 0x18
add eax, ecx
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 4
shr eax, 0x1c
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 6
shr eax, 0x1a
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
add dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 8
shr eax, 0x18
or ecx, eax
mov eax, ecx
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
add dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 0x10
shr eax, 0x10
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
add dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 0x13
shr eax, 0xd
or ecx, eax
mov eax, ecx
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0xc]
add dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 4
shr eax, 0x1c
or ecx, eax
mov eax, ecx
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x14]
add dword [rbp + 0x10], eax
sub edx, 0xc
add qword [rbp + 0x18], 0xc
cmp edx, 0xc
jg 0x4a10b6
nop
cmp edx, 6
jg 0x4a126c
cmp edx, 6
je 0x4a12fc
cmp edx, 3
jg 0x4a1255
cmp edx, 3
je 0x4a1326
sub edx, 1
cmp edx, 0xffffffff
je 0x4a129d
test edx, edx
je 0x4a1344
sub edx, 1
test edx, edx
jne 0x4a12a5
jmp 0x4a1335
sub edx, 4
test edx, edx
je 0x4a1317
sub edx, 1
test edx, edx
jne 0x4a12a5
jmp 0x4a130b
cmp edx, 0xa
jg 0x4a128d
cmp edx, 0xa
je 0x4a12c3
sub edx, 7
test edx, edx
je 0x4a12ed
sub edx, 1
test edx, edx
je 0x4a12de
sub edx, 1
test edx, edx
jne 0x4a12a5
jmp 0x4a12d2
sub edx, 0xb
test edx, edx
je 0x4a12b4
sub edx, 1
test edx, edx
jne 0x4a12a5
jmp 0x4a12a5
mov eax, dword [rbp + 0xc]
jmp 0x4a13fa
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 0xb]
shl eax, 0x18
add dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 0xa]
shl eax, 0x10
add dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 9]
shl eax, 8
add dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 8]
add dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 7]
shl eax, 0x18
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 6]
shl eax, 0x10
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 5]
shl eax, 8
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 4]
add dword [rbp + 0x10], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 3]
shl eax, 0x18
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 2]
shl eax, 0x10
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax + 1]
shl eax, 8
add dword [rbp + 0x14], eax
mov rax, qword [rbp + 0x18]
movzx rax, byte [rax]
add dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x10]
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 0xe
shr eax, 0x12
or ecx, eax
mov eax, ecx
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 0xb
shr eax, 0x15
or ecx, eax
mov eax, ecx
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x14]
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 0x19
shr eax, 7
or ecx, eax
mov eax, ecx
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x10]
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 0x10
shr eax, 0x10
or ecx, eax
mov eax, ecx
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
xor dword [rbp + 0x14], eax
mov eax, dword [rbp + 0xc]
mov ecx, eax
shl ecx, 4
shr eax, 0x1c
or ecx, eax
mov eax, ecx
sub dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x14]
xor dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x14]
mov ecx, eax
shl ecx, 0xe
shr eax, 0x12
or ecx, eax
mov eax, ecx
sub dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x10]
xor dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x10]
mov ecx, eax
shl ecx, 0x18
shr eax, 8
or ecx, eax
mov eax, ecx
sub dword [rbp + 0xc], eax
mov eax, dword [rbp + 0xc]
lea rsp, [rbp + 0x20]
pop rbp
ret