Function at 0x180003720
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x348]
sub rsp, 0x448
mov r12, rcx
lea rdx, [rcx + 0x10]
lea rcx, [rbp - 0x30]
call fcn.180001c30
cmp qword [r12 + 0x30], 0x10
lea rdi, [r12 + 0x18]
mov r8, rdi
jb 0x18000375b
mov r8, qword [rdi]
xor ebx, ebx
mov qword [rbp + 0x118], r8
mov dword [rbp + 0x390], 0xd1c0fc
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
sub cl, 0x4e
xor cl, byte [rbp + rax + 0x391]
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax + 0x391], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 2
jb 0x180003780
lea rax, [rbp + 0x391]
mov qword [rbp - 0x20], 0x3bbfcd1c
mov qword [rbp + 0xf8], rax
lea rsi, [0x180366234]
lea rax, [rsi + 0x3bbfcd1c]
mov qword [rsp + 0x440], r13
mov qword [rbp - 0x28], rax
lea rdx, [rbp + 0x391]
movups xmm0, xmmword [rbp - 0x28]
add rax, 0xffffffffc44032e4
mov qword [rsp + 0x438], r14
mov rcx, r8
mov byte [rbp + 0x393], bl
movups xmmword [rbp + 0x2a8], xmm0
call rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x18000418b
mov dword [rsp + 0x40], ebx
lea rax, [rsp + 0x40]
mov qword [rbp - 0x28], rax
lea r14, [fcn.1803684cc]
mov qword [rsp + 0x20], 2
mov edx, 1
mov qword [rsp + 0x30], 2
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
add rcx, rax
mov qword [rsp + 0x38], 0x68617595
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov r9, qword [rbp - 0x68]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x40]
mov r8, qword [rbp - 0x58]
mov qword [rbp + 0x100], rax
lea rax, [r14 + 0x68617595]
mov qword [rsp + 0x30], rax
add rax, 0xffffffff979e8a6b
movups xmm0, xmmword [rsp + 0x30]
mov dword [rbp - 0x60], 1
movups xmmword [rbp + 0x2c8], xmm0
call rax
mov rcx, qword [rbp - 0x68]
lea rax, [fcn.1803664bc]
add rax, 0x7133417a
mov qword [rsp + 0x38], 0x7133417a
mov qword [rsp + 0x30], rax
add rax, 0xffffffff8eccbe86
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x270], xmm0
call rax
xor eax, eax
mov byte [rbp + 0x380], al
mov dword [rsp + 0x20], 0x15852538
mov dword [rsp + 0x28], 0x31c92b51
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
add ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
cmp dword [rsp + 0x40], eax
jne 0x18000418b
mov dword [rbp + 0x398], 0xebfaed
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
sub cl, 0x78
xor cl, byte [rbp + rax + 0x399]
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax + 0x399], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 2
jb 0x180003930
cmp qword [rdi + 0x18], 0x10
lea rax, [rbp + 0x399]
mov qword [rbp + 0x108], rax
mov byte [rbp + 0x39b], bl
jb 0x180003986
mov rdi, qword [rdi]
add rsi, 0x72b9bd14
mov qword [rbp - 0x10], 0x72b9bd14
mov qword [rbp - 0x18], rsi
lea rdx, [rbp + 0x399]
movups xmm0, xmmword [rbp - 0x18]
mov rcx, rdi
mov qword [rbp + 0x110], rdi
lea rax, [rsi - 0x72b9bd14]
movups xmmword [rbp + 0x288], xmm0
call rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x18000418b
mov rcx, r12
call fcn.180005160
cmp eax, 4
je 0x18000418b
lea rax, [rsp + 0x44]
mov qword [rsp + 0x38], 0x7d1099cc
mov qword [rbp - 0x18], rax
mov edx, 1
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x30], 3
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
add rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x44]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x70]
mov qword [rbp - 0x50], rax
lea rax, [rsp + 0x44]
mov r8, qword [rbp - 0x50]
mov qword [rbp + 0x120], rax
lea rax, [r14 + 0x7d1099cc]
mov qword [rsp + 0x30], rax
add rax, 0xffffffff82ef6634
movups xmm0, xmmword [rsp + 0x30]
mov dword [rbp - 0x5c], 1
movups xmmword [rbp + 0x2f8], xmm0
call rax
lea rdx, [r12 + 0x10]
lea rcx, [rbp - 0x48]
call fcn.180001c30
mov rcx, r12
call fcn.180351ae0
mov rcx, qword [rbp - 0x48]
call fcn.180001ae0
mov rcx, r12
call fcn.180005160
movsxd rdx, eax
lea rcx, [rbp - 0x80]
sub rdx, 4
call fcn.180351c70
mov rsi, qword [rbp - 0x78]
lea rcx, [rbp - 8]
sub rsi, qword [rbp - 0x80]
mov rdx, rsi
call fcn.180351c70
mov dword [rsp + 0x28], ebx
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x30], 3
mov qword [rsp + 0x20], 0x1d
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
cmp rcx, rax
jae 0x180003b50
nop dword [rax]
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x28]
mov byte [rsp + rax + 0x50], cl
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x30], 3
mov qword [rsp + 0x20], 0x1d
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
cmp rcx, rax
jb 0x180003af0
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsp + 0x50]
lea rdx, [rsp + 0x50]
mov byte [rbp + 0xa4], al
lea rcx, [rbp + 0x40]
movzx eax, byte [rsp + 0x51]
mov byte [rbp + 0xa5], al
movzx eax, byte [rsp + 0x52]
mov byte [rbp + 0xa6], al
movzx eax, byte [rsp + 0x53]
mov byte [rbp + 0xa7], al
movzx eax, byte [rsp + 0x54]
mov byte [rbp + 0xa8], al
movzx eax, byte [rsp + 0x55]
mov byte [rbp + 0xa9], al
movzx eax, byte [rsp + 0x56]
mov byte [rbp + 0xaa], al
movzx eax, byte [rsp + 0x57]
mov byte [rbp + 0xab], al
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0xac], al
movzx eax, byte [rsp + 0x59]
mov byte [rbp + 0xad], al
movzx eax, byte [rsp + 0x5a]
mov byte [rbp + 0xae], al
movzx eax, byte [rsp + 0x5b]
mov byte [rbp + 0xaf], al
movzx eax, byte [rsp + 0x5c]
mov byte [rbp + 0xb0], al
movzx eax, byte [rsp + 0x5d]
mov byte [rbp + 0xb1], al
movzx eax, byte [rsp + 0x5e]
mov byte [rbp + 0xb2], al
movzx eax, byte [rsp + 0x5f]
mov byte [rbp + 0xb3], al
call fcn.180001ea0
mov edi, ebx
test rsi, rsi
je 0x180003cd7
add r14, 0x9f5359a
mov qword [rsp + 0x38], 0x9f5359a
mov qword [rsp + 0x30], r14
mov rdx, rbx
add r14, 0xfffffffff60aca66
nop dword [rax + rax]
movups xmm0, xmmword [rsp + 0x30]
mov dword [rsp + 0x28], 0x365
mov dword [rsp + 0x20], 0x9b
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
add ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
mov rcx, qword [rbp - 0x80]
mov r9, qword [rsp + 0x70]
add rcx, rdx
mov dword [rsp + 0x48], eax
mov edx, 1
mov r8d, dword [rsp + 0x48]
lea rax, [rsp + 0x70]
mov qword [rbp + 0x140], rax
lea rax, [rsp + 0x48]
mov qword [rbp + 0x148], rax
lea rax, [rsp + 0x78]
mov qword [rbp + 0x150], rax
lea rax, [rbp - 0x38]
mov qword [rbp + 0x158], rax
mov dword [rsp + 0x78], 1
mov qword [rbp - 0x38], rcx
movups xmmword [rbp + 0x130], xmm0
call r14
test eax, eax
je 0x180003cd7
add edi, eax
mov edx, edi
cmp rdx, rsi
jb 0x180003c40
lea rax, [rsp + 0x50]
mov qword [rbp + 0x128], rax
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], 0xe
mov qword [rsp + 0x30], 0x12
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
add rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x160]
mov r8, qword [rsp + 0x30]
call fcn.180002c10
mov rax, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
mov ecx, eax
sub ecx, edi
je 0x180003e49
mov r10d, ecx
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x20], 0xe2
lea r9, [rbp + 0x160]
mov dword [rsp + 0x28], 0x1e
lea rdi, [rdi + 1]
mov ecx, dword [rsp + 0x20]
xor edx, edx
mov eax, dword [rsp + 0x28]
add ecx, eax
movzx eax, byte [rbp + 0x260]
mov dword [rsp + 0x20], ecx
inc eax
mov ecx, dword [rsp + 0x20]
div ecx
mov byte [rbp + 0x260], dl
xor edx, edx
mov dword [rsp + 0x28], 0x17
mov dword [rsp + 0x20], 0xe9
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
add ecx, eax
movzx eax, byte [rbp + 0x260]
add r9, rax
mov dword [rsp + 0x20], ecx
movzx ecx, byte [rbp + 0x261]
movzx eax, byte [r9]
add eax, ecx
mov ecx, dword [rsp + 0x20]
div ecx
mov byte [rbp + 0x261], dl
movzx r8d, byte [r9]
movzx eax, dl
movzx ecx, byte [rbp + rax + 0x160]
mov byte [r9], cl
movzx eax, byte [rbp + 0x261]
mov byte [rbp + rax + 0x160], r8b
mov dword [rsp + 0x28], 0x5a
mov dword [rsp + 0x20], 0xa6
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
add ecx, eax
mov dword [rsp + 0x20], ecx
mov r8d, dword [rsp + 0x20]
movzx eax, byte [rbp + 0x261]
movzx ecx, byte [rbp + 0x260]
movzx eax, byte [rbp + rax + 0x160]
movzx edx, byte [rbp + rcx + 0x160]
add eax, edx
xor edx, edx
div r8d
movzx eax, byte [rbp + rdx + 0x160]
xor byte [rdi - 1], al
sub r10, 1
jne 0x180003d40
mov rax, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
mov rsi, qword [rbp - 8]
lea rcx, [rbp + 0x40]
sub eax, edi
mov r9, rsi
mov r8d, eax
mov rdx, rdi
call fcn.1800029a0
mov r13, qword [rbp]
sub r13, rsi
je 0x180004111
lea rax, [rbp + 0x388]
mov qword [rbp + 0xf0], rax
nop dword [rax]
mov ecx, ebx
add ebx, 4
add rcx, rsi
movzx eax, byte [rcx]
mov byte [rbp + 0x388], al
movzx eax, byte [rcx + 1]
mov byte [rbp + 0x389], al
movzx eax, byte [rcx + 2]
mov byte [rbp + 0x38a], al
movzx eax, byte [rcx + 3]
lea rcx, [rbp + 0x10]
mov byte [rbp + 0x38b], al
mov edx, dword [rbp + 0x388]
call fcn.180351c70
mov eax, dword [rbp + 0x388]
mov ecx, ebx
mov edx, eax
add rcx, rsi
test eax, eax
je 0x180003ef7
mov r8, qword [rbp + 0x10]
sub r8, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + r8], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180003ee0
mov eax, dword [rbp + 0x388]
mov qword [rsp + 0x20], 2
lea r8, [rbp + 0x388]
add ebx, eax
mov qword [rsp + 0x30], 2
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
add rcx, rax
mov rax, qword [rbp - 8]
mov qword [rsp + 0x30], rcx
mov rdx, qword [rsp + 0x30]
mov ecx, ebx
add rax, rcx
sub r8, rax
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rax + r8], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x180003f40
mov edx, dword [rbp + 0x388]
lea rcx, [rbp + 0x28]
add ebx, 4
call fcn.180351c70
mov eax, dword [rbp + 0x388]
mov rsi, qword [rbp - 8]
mov edx, eax
mov rdi, qword [rbp + 0x28]
mov ecx, ebx
add rcx, rsi
test eax, eax
je 0x180003fa7
mov r8, rdi
sub r8, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx + r8], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180003f90
mov eax, dword [rbp + 0x388]
lea rdx, [rbp + 0x10]
add ebx, eax
lea rcx, [rbp + 0xc0]
call fcn.180351bf0
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xd8]
call fcn.180351bf0
mov r14, qword [r12]
lea r9, [rbp + 0xc0]
mov rdx, r14
mov r15, qword [r14 + 8]
mov r8, r15
call fcn.180358140
mov rdx, qword [r12 + 8]
movabs rcx, 0x3fffffffffffffe
sub rcx, rdx
cmp rcx, 1
jb 0x1800041b7
lea rcx, [rdx + 1]
mov qword [r12 + 8], rcx
mov rcx, qword [rbp + 0xd8]
mov qword [r14 + 8], rax
mov qword [r15], rax
test rcx, rcx
je 0x18000404f
mov rdx, qword [rbp + 0xe8]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000404a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041ca
call fcn.180360d9c
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x18000408f
mov rdx, qword [rbp + 0xd0]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000408a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041ca
call fcn.180360d9c
test rdi, rdi
je 0x1800040c8
mov rdx, qword [rbp + 0x38]
mov rax, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x1800040c0
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041ca
mov rcx, rdi
call fcn.180360d9c
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x180004102
mov rdx, qword [rbp + 0x20]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1800040fd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041ca
call fcn.180360d9c
mov eax, ebx
cmp rax, r13
jb 0x180003e80
mov rdi, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
lea rax, [fcn.1803664bc]
call rax
test rsi, rsi
je 0x180004154
mov rdx, qword [rbp + 8]
mov rax, rsi
sub rdx, rsi
cmp rdx, 0x1000
jb 0x18000414c
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041c4
mov rcx, rsi
call fcn.180360d9c
test rdi, rdi
je 0x180004189
mov rdx, qword [rbp - 0x70]
mov rax, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x180004181
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800041c4
mov rcx, rdi
call fcn.180360d9c
mov bl, 1
mov rcx, qword [rbp - 0x30]
call fcn.180001ae0
mov r14, qword [rsp + 0x438]
movzx eax, bl
mov r13, qword [rsp + 0x440]
add rsp, 0x448
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.list_T__too_long
call fcn.18035fd2c
int3
call fcn.1803687c0
int3
call fcn.1803687c0
int3