Function at 0x14003b8f0
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 r14d, r14d
mov rbx, qword [rsp + 0x258]
mov rsi, qword [rsp + 0x260]
mov edi, dword [rsp + 0x268]
mov qword [rsp + 0x218], rdx
mov ebp, ecx
lea r13, [rsp + 0x1b8]
lea r12, [rsp + 0x1b4]
mov dword [rsp + 0x220], r8d
mov qword [rsp + 0x228], r9
jmp 0x14003b967
mov eax, dword [rsp + 0x1b4]
shl eax, 0xa
and eax, ebp
cmp eax, 1
sbb r15d, 0xffffffff
add r14d, 1
mov r8, r13
mov rdx, r12
mov ecx, r14d
call fcn.140049180
test eax, eax
jne 0x14003b950
mov ecx, eax
test r15d, r15d
je 0x14003bf7d
mov eax, dword [rsp + 0x250]
movsxd r8, edi
mov r14d, edi
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 + 0xf]
lea ecx, [rdi - 1]
sub rax, rsi
mov dword [rsp + 0x174], ecx
cmp rax, 0x1e
seta dl
cmp ecx, 0xe
mov ecx, edi
seta al
and ecx, 0xfffffff0
shr r14d, 4
and edx, eax
movsxd rax, ecx
mov dword [rsp + 0x90], ecx
mov r15, r14
mov byte [rsp + 0x7f], dl
lea rdx, [rbx + rax]
add rax, rsi
shl r15, 4
mov qword [rsp + 0x88], rax
lea eax, [rcx + 1]
xor r14d, r14d
mov dword [rsp + 0x94], eax
cdqe
mov qword [rsp + 0x80], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0xa0], rax
lea eax, [rcx + 2]
mov dword [rsp + 0xb8], eax
cdqe
mov qword [rsp + 0x98], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0xb0], rax
lea eax, [rcx + 3]
mov dword [rsp + 0xbc], eax
cdqe
mov qword [rsp + 0xa8], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0xc8], rax
lea eax, [rcx + 4]
mov dword [rsp + 0xe0], eax
cdqe
mov qword [rsp + 0xc0], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0xd8], rax
lea eax, [rcx + 5]
mov dword [rsp + 0xe4], eax
cdqe
mov qword [rsp + 0xd0], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0xf0], rax
lea eax, [rcx + 6]
mov dword [rsp + 0x108], eax
cdqe
mov qword [rsp + 0xe8], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x100], rax
lea eax, [rcx + 7]
mov dword [rsp + 0x10c], eax
cdqe
mov qword [rsp + 0xf8], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x118], rax
lea eax, [rcx + 8]
mov dword [rsp + 0x130], eax
cdqe
mov qword [rsp + 0x110], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x128], rax
lea eax, [rcx + 9]
mov dword [rsp + 0x134], eax
cdqe
mov qword [rsp + 0x120], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x140], rax
lea eax, [rcx + 0xa]
mov qword [rsp + 0x138], rdx
mov dword [rsp + 0x158], eax
cdqe
mov r9d, dword [rsp + 0x78]
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x150], rax
lea eax, [rcx + 0xb]
mov dword [rsp + 0x15c], eax
cdqe
mov qword [rsp + 0x148], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x168], rax
lea eax, [rcx + 0xc]
mov dword [rsp + 0x170], eax
cdqe
mov qword [rsp + 0x160], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x180], rax
lea eax, [rcx + 0xd]
mov dword [rsp + 0x198], eax
cdqe
mov qword [rsp + 0x178], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov qword [rsp + 0x190], rax
lea eax, [rcx + 0xe]
mov dword [rsp + 0x19c], eax
cdqe
mov qword [rsp + 0x188], rdx
lea rdx, [rbx + rax]
add rax, rsi
mov rsi, rbx
mov qword [rsp + 0x1a8], rax
mov eax, dword [rsp + 0x250]
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 0x14003bc34
add r14d, 1
mov r8, r13
mov rdx, r12
mov ecx, r14d
call fcn.140049180
test eax, eax
je 0x14003bf60
mov eax, dword [rsp + 0x1b4]
shl eax, 0xa
test eax, ebp
je 0x14003bc30
mov rcx, qword [rsp + 0x1b8]
test rcx, rcx
je 0x14003bfa3
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x60], edi
mov qword [rsp + 0x58], rbx
mov r9, qword [rsp + 0x218]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x238]
mov dword [rsp + 0x50], 0
mov r8d, dword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x230]
mov qword [rsp + 0x48], 0
mov rdx, qword [rsp + 0x248]
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.14003b550
test eax, eax
je 0x14003bfcc
mov rax, qword [rsp + 0x70]
add qword [rsp + 0x248], rax
test edi, edi
jle 0x14003bc30
cmp byte [rsp + 0x7f], 0
je 0x14003bf30
xor eax, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm1, xmmword [rbx + rax]
pxor xmm0, xmm1
movups xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rax, r15
jne 0x14003bd08
cmp edi, dword [rsp + 0x90]
je 0x14003bc30
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x94]
jle 0x14003bc30
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0xb8]
jle 0x14003bc30
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0xbc]
jle 0x14003bc30
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xc0]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0xe0]
jle 0x14003bc30
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xd0]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0xe4]
jle 0x14003bc30
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x108]
jle 0x14003bc30
mov rax, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x10c]
jle 0x14003bc30
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x130]
jle 0x14003bc30
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x120]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x134]
jle 0x14003bc30
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x158]
jle 0x14003bc30
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x148]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x15c]
jle 0x14003bc30
mov rax, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x160]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x170]
jle 0x14003bc30
mov rax, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x178]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x198]
jle 0x14003bc30
mov rax, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x188]
movzx eax, byte [rax]
xor byte [rdx], al
cmp edi, dword [rsp + 0x19c]
jle 0x14003bc30
mov rax, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
movzx eax, byte [rax]
xor byte [rdx], al
jmp 0x14003bc30
mov ecx, dword [rsp + 0x174]
xor eax, eax
nop dword [rax]
movzx edx, byte [rbx + rax]
xor byte [rsi + rax], dl
mov rdx, rax
add rax, 1
cmp rdx, rcx
jne 0x14003bf40
jmp 0x14003bc30
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.1400ba710
jmp 0x14003bf66
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.1400ba710
jmp 0x14003bf66
mov r15d, eax
jmp 0x14003bf66