Function at 0x6e41fa20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1c8
xor r15d, r15d
xor esi, esi
mov rbx, qword [rsp + 0x258]
mov rdi, qword [rsp + 0x260]
mov ebp, dword [rsp + 0x268]
mov r14d, ecx
mov qword [rsp + 0x218], rdx
mov dword [rsp + 0x220], r8d
lea r13, [rsp + 0x1b8]
mov qword [rsp + 0x228], r9
lea r12, [rsp + 0x1b4]
jmp 0x6e41fa97
mov eax, dword [rsp + 0x1b4]
shl eax, 0xa
and eax, r14d
cmp eax, 1
sbb r15d, 0xffffffff
add esi, 1
mov r8, r13
mov rdx, r12
mov ecx, esi
call fcn.6e4351d0
test eax, eax
jne 0x6e41fa80
test r15d, r15d
mov ecx, eax
je 0x6e42009d
mov eax, dword [rsp + 0x250]
lea esi, [rbp - 1]
movsxd r8, ebp
cdq
idiv r15d
cmp r15d, 1
cmovne ecx, dword [rsp + 0x250]
xor edx, edx
mov dword [rsp + 0x250], ecx
mov rcx, rbx
mov dword [rsp + 0x78], eax
call sub.msvcrt.dll_memset
lea rax, [rbx + 0x10]
mov ecx, ebp
mov dword [rsp + 0x174], esi
lea rdx, [rdi + 0x10]
cmp rdi, rax
setae al
cmp rbx, rdx
setae dl
or eax, edx
cmp esi, 0xe
seta dl
and ecx, 0xfffffff0
and eax, edx
mov dword [rsp + 0x90], ecx
mov byte [rsp + 0x7f], al
mov eax, ebp
shr eax, 4
shl rax, 4
mov r15, rax
movsxd rax, ecx
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x88], rax
lea eax, [rcx + 1]
mov dword [rsp + 0x94], eax
cdqe
mov qword [rsp + 0x80], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0xa0], rax
lea eax, [rcx + 2]
mov dword [rsp + 0xb8], eax
cdqe
mov qword [rsp + 0x98], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0xb0], rax
lea eax, [rcx + 3]
mov dword [rsp + 0xbc], eax
cdqe
mov qword [rsp + 0xa8], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0xc8], rax
lea eax, [rcx + 4]
mov dword [rsp + 0xe0], eax
cdqe
mov qword [rsp + 0xc0], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0xd8], rax
lea eax, [rcx + 5]
mov dword [rsp + 0xe4], eax
cdqe
mov qword [rsp + 0xd0], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0xf0], rax
lea eax, [rcx + 6]
mov dword [rsp + 0x108], eax
cdqe
mov qword [rsp + 0xe8], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x100], rax
lea eax, [rcx + 7]
mov dword [rsp + 0x10c], eax
cdqe
mov qword [rsp + 0xf8], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x118], rax
lea eax, [rcx + 8]
mov dword [rsp + 0x130], eax
cdqe
mov qword [rsp + 0x110], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x128], rax
lea eax, [rcx + 9]
mov dword [rsp + 0x134], eax
cdqe
mov qword [rsp + 0x120], rsi
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x140], rax
lea eax, [rcx + 0xa]
mov qword [rsp + 0x138], rsi
mov dword [rsp + 0x158], eax
cdqe
mov r9d, dword [rsp + 0x78]
lea rdx, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x260], rdi
mov qword [rsp + 0x150], rax
lea eax, [rcx + 0xb]
mov dword [rsp + 0x15c], eax
cdqe
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x168], rax
lea eax, [rcx + 0xc]
mov dword [rsp + 0x170], eax
cdqe
lea rdx, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x180], rax
lea eax, [rcx + 0xd]
mov dword [rsp + 0x198], eax
cdqe
lea rsi, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x190], rax
lea eax, [rcx + 0xe]
mov dword [rsp + 0x19c], eax
cdqe
lea rdx, [rbx + rax]
add rax, rdi
mov qword [rsp + 0x188], rsi
mov rdi, rbx
mov qword [rsp + 0x1a8], rax
mov eax, dword [rsp + 0x250]
xor esi, esi
mov qword [rsp + 0x1a0], rdx
mov rbx, qword [rsp + 0x260]
and eax, 1
add eax, r9d
mov dword [rsp + 0x78], eax
movsxd rax, r9d
mov qword [rsp + 0x70], rax
jmp 0x6e41fd63
add esi, 1
mov r8, r13
mov rdx, r12
mov ecx, esi
call fcn.6e4351d0
test eax, eax
je 0x6e420080
mov eax, dword [rsp + 0x1b4]
shl eax, 0xa
test eax, r14d
je 0x6e41fd60
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x6e4200c3
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x60], ebp
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x58], rbx
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x50], 0
mov rdx, qword [rsp + 0x248]
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x20], eax
call fcn.6e41f680
test eax, eax
je 0x6e4200ec
mov rax, qword [rsp + 0x70]
add qword [rsp + 0x248], rax
test ebp, ebp
jle 0x6e41fd60
cmp byte [rsp + 0x7f], 0
je 0x6e420050
xor eax, eax
movdqu xmm0, xmmword [rdi + rax]
movdqu xmm1, xmmword [rbx + rax]
pxor xmm0, xmm1
movups xmmword [rdi + rax], xmm0
add rax, 0x10
cmp rax, r15
jne 0x6e41fe31
cmp ebp, dword [rsp + 0x90]
je 0x6e41fd60
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x94]
jle 0x6e41fd60
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0xb8]
jle 0x6e41fd60
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0xbc]
jle 0x6e41fd60
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xc0]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0xe0]
jle 0x6e41fd60
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xd0]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0xe4]
jle 0x6e41fd60
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x108]
jle 0x6e41fd60
mov rax, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x10c]
jle 0x6e41fd60
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x130]
jle 0x6e41fd60
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x120]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x134]
jle 0x6e41fd60
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x158]
jle 0x6e41fd60
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x148]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x15c]
jle 0x6e41fd60
mov rax, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x160]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x170]
jle 0x6e41fd60
mov rax, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x178]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x198]
jle 0x6e41fd60
mov rax, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x188]
movzx eax, byte [rax]
xor byte [rdx], al
cmp ebp, dword [rsp + 0x19c]
jle 0x6e41fd60
mov rax, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
movzx eax, byte [rax]
xor byte [rdx], al
jmp 0x6e41fd60
mov ecx, dword [rsp + 0x174]
xor eax, eax
jmp 0x6e420063
mov rax, rdx
movzx edx, byte [rbx + rax]
xor byte [rdi + rax], dl
lea rdx, [rax + 1]
cmp rax, rcx
jne 0x6e420060
jmp 0x6e41fd60
mov r15d, 1
mov eax, r15d
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x44
mov edx, 0x11c
mov ecx, 0x14
mov dword [rsp + 0x20], 0x109
lea r9, str.t1_enc.c
call fcn.6e440310
jmp 0x6e420086
mov dword [rsp + 0x20], 0x114
lea r9, str.t1_enc.c
mov r8d, 0x146
xor r15d, r15d
mov edx, 0x11c
mov ecx, 0x14
call fcn.6e440310
jmp 0x6e420086
mov r15d, eax
jmp 0x6e420086