Function at 0x140347110
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x168], 0xfffffffffffffffe
cmp byte [rcx], 0
je 0x14034714e
cmp dword [0x140548180], 0x3be02f26
je 0x140347a68
jmp 0x140347a74
mov rsi, rcx
xor eax, eax
test al, al
je 0x1403471c0
lea rdi, [rsi + 0x98]
mov ebx, 0xc41fd0dc
nop word cs:[rax + rax]
mov ecx, 0x86a3b27e
mov edx, 0xedb66676
mov r8d, 0xe3fdb402
call fcn.14034a610
mov dword [rsp + 0x20], 0xb0aaf591
mov rcx, rdi
mov rdx, rax
mov r8d, 0x4eaad95c
mov r9d, 0x3ae658a3
call fcn.14034abf0
mov ecx, dword [0x140566cb8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140548180]
add ecx, ebx
xor edx, edx
div ecx
test edx, edx
jne 0x140347170
mov ecx, 0x86a3b27e
mov edx, 0xedb66676
mov r8d, 0xe3fdb402
call fcn.14034a610
lea rcx, [rsi + 0x98]
mov edx, dword [0x140548180]
lea r8d, [rdx + 0x12caaa36]
lea r9d, [rdx - 0xf9d683]
mov r10d, edx
xor r10d, 0x74cac66b
and edx, 0x74cac66b
lea edx, [r10 + rdx*2]
mov dword [rsp + 0x20], edx
mov rdx, rax
call fcn.14034abf0
test al, al
jne 0x140347238
mov rax, qword [0x140566be8]
mov rdi, qword [rax + 0x2e0]
call fcn.1401082f0
mov rcx, rax
mov edx, 0x3e8
mov rax, rdi
call qword [0x1404ee420]
mov ecx, 0x3ca6c663
mov edx, 0x92125483
mov r8d, 0x7912be6b
call fcn.14034a630
lea rdi, [rbp - 0x58]
mov rcx, rdi
mov rdx, rax
call fcn.14032dd90
mov rcx, rdi
call fcn.14034f7f0
lea rcx, [rbp - 0x58]
call fcn.14034f8d0
test al, al
jne 0x140347295
mov rax, qword [0x140566be8]
mov rdi, qword [rax + 0x2e0]
call fcn.1401082f0
mov rcx, rax
mov edx, 0x3e9
mov rax, rdi
call qword [0x1404ee420]
mov eax, dword [0x140566cb8]
call fcn.140350dd0
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x1403472ad
mov rdi, qword [rbp - 0x50]
mov ebx, dword [rax + 0xc]
xor r14d, r14d
lea r15, [0x14044b040]
xor r12d, r12d
nop dword [rax]
mov eax, dword [0x140566cb8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140548180]
mov edx, eax
xor edx, 0xc41fd0da
and eax, 0x441fd0da
lea eax, [rdx + rax*2]
cmp ecx, eax
test r14b, r14b
jne 0x1403472e7
cmp r12d, ebx
jge 0x140347327
mov eax, r12d
mov rdx, qword [r15 + rax*8]
mov rcx, rsi
mov r8, rdi
call fcn.140347ca0
mov rcx, rdi
mov edx, 0x5a401cd7
mov r8d, 0xf19aea5c
mov r9d, 0xd743711e
call fcn.1400ac7d0
add rdi, rax
inc rdi
inc r12d
jmp 0x1403472c0
lea rcx, [rbp - 0x14]
nop dword [rax + rax]
cmp dword [0x140548180], 0x3be02f26
jne 0x140347354
mov eax, dword [0x140566cb8]
mov edx, dword [0x140548180]
not edx
add edx, eax
imul edx, eax
test dl, 1
je 0x140347361
mov eax, dword [0x140566cbc]
cmp eax, 0x27
jge 0x140347330
jmp 0x14034733c
call fcn.1402b48a0
lea rcx, [rbp - 0x58]
call fcn.140073fa0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], 0
mov dword [rsp + 0x20], 0xe805b234
mov ecx, 1
mov edx, 1
mov r8d, 0x3c3ca1fb
mov r9d, 0x9223e58b
call fcn.14034a780
lea rcx, [rbp - 0x58]
mov r8d, 0x11
mov rdx, rax
call fcn.1403c19f0
mov eax, dword [0x140566cb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403473e2
mov eax, 0xc41fd0f2
nop
mov ecx, dword [0x140566cbc]
mov edx, dword [0x140548180]
add edx, eax
cmp ecx, edx
jge 0x1403473d0
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x58]
call fcn.140258920
mov eax, dword [0x140566cb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop word cs:[rax + rax]
mov eax, dword [0x140548180]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3be02f25
mov r8d, ecx
and r8d, 0xc41fd0da
or r8d, edx
xor eax, 0x441fd0da
and ecx, 0x3be02f25
or ecx, eax
not ecx
lea eax, [r8 + rcx*2]
lea rcx, [fcn.140347110]
add ecx, ecx
add ecx, 0xc00
mov edx, ecx
not edx
and edx, ecx
cmp edx, eax
jne 0x140347410
mov rax, qword [rbp - 0x38]
mov rcx, qword [0x140548188]
movabs rdx, 0xe6be1a7c6418f796
xor rdx, rcx
movabs r8, 0x66be1a7c6418f796
and r8, rcx
lea rcx, [rdx + r8*2]
cmp rax, rcx
jbe 0x140347569
mov ecx, dword [0x140566cbc]
cmp ecx, 0x55
nop word cs:[rax + rax]
lea rcx, [fcn.140347110]
add ecx, ecx
add ecx, 0x1fc0
mov edx, ecx
not edx
test edx, ecx
jne 0x1403474a0
mov rdi, qword [rbp - 0x50]
mov ecx, eax
not ecx
and ecx, 1
mov rdx, rax
and rdx, 0xfffffffffffffffe
or rdx, rcx
mov ecx, eax
and ecx, 1
lea rbx, [rdx + rcx*2]
cmp rbx, 0x1000
jb 0x140347534
mov ecx, dword [0x140566cb8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
nop dword [rax]
mov rcx, qword [rdi - 8]
mov edx, dword [0x140566cbc]
mov r8d, 0xc41fd0e4
add r8d, dword [0x140548180]
cmp edx, r8d
jge 0x1403474f0
add rdi, 0xfffffffffffffff8
sub rdi, rcx
cmp rdi, 0x20
jae 0x140347541
mov edx, eax
not edx
and edx, 0x28
mov r8, rax
and r8, 0xffffffffffffffd7
or r8, rdx
and eax, 0x28
lea rbx, [r8 + rax*2]
mov rdi, rcx
mov eax, dword [0x140566cbc]
cmp eax, 0x4f
jle 0x140347546
jmp 0x14034755c
call fcn.1403c3cac
mov rcx, rdi
mov rdx, rbx
call fcn.1400a9560
mov eax, dword [0x140566cbc]
cmp eax, 0x14
jle 0x140347569
mov rcx, rdi
mov rdx, rbx
call fcn.1400a9560
jmp 0x140347546
xor ecx, ecx
mov edx, 1
mov r8d, 0x3d5f2e11
mov r9d, 0x8ca8aa8c
call fcn.14034a230
lea rcx, [rbp - 0x58]
mov r8d, 0xc
mov rdx, rax
call fcn.1403c19f0
nop word cs:[rax + rax]
mov eax, dword [0x140566cb8]
mov ecx, eax
not ecx
imul ecx, eax
test cl, 1
je 0x1403475bd
mov eax, dword [0x140566cbc]
cmp eax, 0x3e
jge 0x1403475a0
lea rcx, [rbp + 0x150]
lea rdx, [rbp - 0x58]
call fcn.140258920
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14034766b
mov ecx, dword [0x140566cbc]
mov edx, 0xc41fd0f0
add edx, dword [0x140548180]
cmp ecx, edx
jl 0x1403475f2
jmp 0x1403475fe
cmp dword [0x140548180], 0x3be02f26
je 0x140347633
mov ecx, 0xc41fd0da
nop word cs:[rax + rax]
mov edx, dword [0x140566cb8]
mov r8d, edx
not r8d
imul r8d, edx
and r8d, 1
mov edx, dword [0x140548180]
add edx, ecx
cmp r8d, edx
jne 0x140347610
jmp 0x1403475f2
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140347666
mov r8, qword [0x1405653c0]
add r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140347690
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a9560
mov ecx, dword [0x140566cb8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xc41fd0dc
add ecx, dword [0x140548180]
xor edx, edx
div ecx
test edx, edx
jne 0x140347715
jmp 0x1403476f1
mov eax, 0xc41fd0da
lea rcx, [fcn.140347110]
lea r8d, [rcx + rcx]
add r8d, 0x3900
mov edx, r8d
not edx
and edx, r8d
mov r8d, 0xc41fd0db
mov r9d, dword [0x140548180]
add r9d, eax
cmp edx, r9d
jne 0x1403476d0
cmp dword [0x140548180], 0x3be02f26
je 0x1403476ec
mov r9d, dword [0x140548180]
add r9d, r8d
lea r10d, [rcx + rcx]
add r10d, 0x14e0
test r10d, r9d
jne 0x1403476b5
jmp 0x1403476c4
call fcn.1403c3cac
mov dword [rsp + 0x20], 0xf1fe7e71
xor edi, edi
xor ecx, ecx
xor edx, edx
mov r8d, 0x2feaf501
mov r9d, 0xf9cadf62
call fcn.14034a9a0
test dil, dil
je 0x140347734
mov dword [rsp + 0x20], 0xf1fe7e71
xor ecx, ecx
xor edx, edx
mov r8d, 0x2feaf501
mov r9d, 0xf9cadf62
call fcn.14034a9a0
jmp 0x1403476f1
lea rcx, [rbp - 0x58]
mov r8d, 0xa
mov rdx, rax
call fcn.1403c19f0
lea rdi, [rbp + 0x150]
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.140258920
mov rcx, qword [rbp - 0x38]
cmp rcx, 0x10
jb 0x140347842
mov rbx, qword [rbp - 0x50]
lea r14, [rcx + 1]
cmp r14, 0x1000
jb 0x1403477d5
mov r8, qword [rbx - 8]
add rbx, qword [0x140548188]
sub rbx, r8
movabs rax, 0xe6be1a7c6418f77f
add rax, rbx
cmp rax, 0x20
jae 0x140347803
mov edx, dword [0x140566cb8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, 0xc41fd0dc
add r9d, dword [0x140548180]
xor edx, edx
div r9d
test edx, edx
nop dword [rax]
mov eax, dword [0x140566cbc]
cmp eax, 0x44
jge 0x1403477c0
add rcx, 0x28
mov r14, rcx
mov rbx, r8
mov eax, dword [0x140566cbc]
cmp eax, 0x3c
jle 0x140347824
jmp 0x140347835
mov eax, dword [0x140566cbc]
mov ecx, dword [0x140548180]
mov edx, ecx
xor edx, 0xc41fd103
and ecx, 0x441fd103
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x14034780e
mov eax, dword [0x140566cbc]
cmp eax, 0x56
jg 0x1403477e2
mov eax, dword [0x140566cb8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403477e2
call fcn.1403c3cac
mov rcx, rbx
mov rdx, r14
call fcn.1400a9560
mov al, 1
test al, al
jne 0x140347842
mov rcx, rbx
mov rdx, r14
call fcn.1400a9560
jmp 0x140347824
xor eax, eax
test al, al
nop word cs:[rax + rax]
mov eax, dword [0x140566cbc]
cmp eax, 0x33
jg 0x140347850
lea rbx, [rsi + 0x158]
cmp rbx, rdi
je 0x14034799d
mov rdi, qword [rbx]
test rdi, rdi
je 0x14034797c
mov eax, 0xc41fd0da
nop dword [rax]
mov ecx, dword [0x140566cb8]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x140548180]
add ecx, eax
cmp edx, ecx
je 0x1403478a6
mov ecx, dword [0x140566cbc]
cmp ecx, 0x62
jge 0x140347880
mov r14, qword [rsi + 0x160]
cmp rdi, r14
je 0x1403478f1
mov r15d, 0xc41fd0da
nop dword [rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov edx, dword [0x140548180]
add edx, r15d
mov rcx, rdi
call qword [0x1404ee420]
add rdi, 0x28
cmp rdi, r14
sete al
movzx ecx, byte [0x140564500]
test cl, al
jne 0x1403478f1
xor cl, al
je 0x1403478c0
mov rcx, qword [rsi + 0x158]
mov rdx, qword [rsi + 0x168]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140347969
mov eax, dword [0x140566cb8]
lea r8d, [rax - 1]
imul r8d, eax
and r8d, 1
mov eax, 0xc41fd0da
add eax, dword [0x140548180]
cmp r8d, eax
nop dword [rax + rax]
mov rax, qword [rcx - 8]
mov r8d, dword [0x140566cbc]
cmp r8d, 0x4a
jg 0x140347930
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140347a5e
add rdx, qword [0x140548188]
movabs rcx, 0xe6be1a7c6418f7ae
add rdx, rcx
mov rcx, rax
call fcn.1400a9560
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
movaps xmm0, xmmword [rbp + 0x150]
movups xmmword [rsi + 0x158], xmm0
mov rax, qword [rbp + 0x160]
mov qword [rsi + 0x168], rax
jmp 0x140347a45
mov rdi, qword [rbp + 0x150]
test rdi, rdi
je 0x140347a45
mov rbx, qword [rbp + 0x158]
cmp rdi, rbx
je 0x1403479da
nop dword [rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
xor edx, edx
call qword [0x1404ee420]
add rdi, 0x28
cmp rdi, rbx
jne 0x1403479c0
mov rcx, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x160]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140347a40
mov rax, qword [rcx - 8]
add rcx, qword [0x140548188]
movabs r8, 0xe6be1a7c6418f77f
add r8, rcx
movabs rcx, 0x225a34867941bc48
mov r9, r8
xor r9, rcx
and r8, rcx
lea rcx, [r9 + r8*2]
sub rcx, rax
movabs r8, 0xdda5cb7986be43b8
add r8, rcx
cmp r8, 0x20
jae 0x140347a63
add rdx, 0x27
mov rcx, rax
call fcn.1400a9560
movzx eax, byte [0x140548184]
add al, 0xca
mov byte [rsi], al
cmp dword [0x140548180], 0x3be02f26
je 0x140347a68
jmp 0x140347a74
call fcn.1403c3cac
call fcn.1403c3cac
cmp dword [0x140548180], 0x3be02f26
je 0x140347a86
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x140347a80
jmp 0x140347a68
mov al, 1
add rsp, 0x1f0
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret