Function at 0x140018805
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0
mov rax, qword [rcx + 0x40]
add rcx, 0x30
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
xor eax, eax
lea r12, [0x1400e74fc]
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x10
jne 0x1400185f0
mov eax, 0x28a16966
mov r14b, 1
xor r13d, r13d
mov r8d, 0x5f9e96fe
lea rdi, [0x1400e79d0]
lea rbx, [0x1400e74f0]
xorps xmm6, xmm6
xor r15d, r15d
mov ecx, dword [rsp + 0x3c]
xor ecx, r8d
cmp eax, 0x3d971518
jg 0x140018650
cmp eax, 0xe97711d
je 0x140018758
cmp eax, 0x28a16966
jne 0x140018632
jmp 0x140018799
cmp eax, 0x3d971519
je 0x1400187dd
cmp eax, 0x4ae4c48a
jne 0x140018632
mov dword [rsp + 0x2c], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + r15*8]
movaps xmmword [rsp + 0x50], xmm6
mov dword [rsp + 0x60], 0
mov rax, qword [rcx]
add rax, 0xfffffffffffffff8
mov qword [rsp + 0x70], rcx
mov qword [rcx], rax
cmp rax, 8
setb byte [rsp + 0x27]
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x10
jne 0x140018696
mov eax, 0x28a16966
mov cl, 1
mov ebp, dword [rsp + 0x58]
mov esi, dword [rsp + 0x5c]
cmp eax, 0x3d971518
jg 0x1400186d2
cmp eax, 0xe97711d
je 0x140018703
cmp eax, 0x28a16966
jne 0x1400186bb
jmp 0x14001870c
cmp eax, 0x3d971519
je 0x14001874a
cmp eax, 0x4ae4c48a
jne 0x1400186bb
mov dword [rsp + 0x28], ecx
lea rcx, [0x1401b3078]
mov rdx, qword [rsp + 0x70]
call fcn.14000e6dc
mov ecx, dword [rsp + 0x28]
mov r8d, 0x5f9e96fe
mov eax, esi
jmp 0x140018705
mov eax, ebp
xor eax, 0x3f77d4dc
jmp 0x1400186bb
mov al, byte [rsp + 0x27]
test cl, 1
je 0x14001872d
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0xc
jne 0x140018717
cmp byte [rsp + 0x27], 0
mov eax, 0x765675a7
mov ecx, 0x3225c030
cmovne eax, ecx
xor eax, dword [rsp + 0x50]
xor ecx, ecx
jmp 0x1400186b3
inc r15
mov ecx, dword [rsp + 0x2c]
mov eax, ecx
jmp 0x140018632
mov rax, qword [rsp + 0x88]
test r13b, r13b
jne 0x14001877d
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x30], 0x53e92626
add rcx, 4
cmp rcx, 8
jne 0x140018767
cmp r15, rax
mov eax, 0x4804054f
mov ecx, 0x3f77d4dc
cmovg eax, ecx
xor eax, dword [rsp + 0x38]
mov r13b, 1
jmp 0x14001862b
mov rax, qword [rsp + 0x80]
dec rax
mov qword [rsp + 0x88], rax
test r14b, 1
je 0x1400187ca
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0xc
jne 0x1400187b4
mov eax, dword [rsp + 0x30]
mov ecx, 0x765675a7
xor eax, ecx
xor r14d, r14d
jmp 0x140018628
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
call fcn.14001216e
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x28], rsi
lea rax, [rsi + 0x2b58]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
xor eax, eax
lea rcx, [0x1400e5dc0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x40], 0x78c104ba
add rax, 4
cmp rax, 0x4c
jne 0x140018885
mov rax, qword [rsp + 0x28]
lea rcx, [rax + 8]
mov qword [rsp + 0x130], rcx
add rax, 0x68
mov qword [rsp + 0x128], rax
mov eax, 0x5fcc2877
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
lea rdi, [0x1400e5e10]
lea r12, [0x1400e5e80]
lea r13, [0x1400e5e8c]
lea rbp, [0x1400e5d70]
lea r14, [0x1400e5e50]
lea rbx, [0x1400e7920]
xor ecx, ecx
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
xor ecx, ecx
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov qword [rsp + 0x90], rcx
cmp eax, 0x490510eb
jle 0x14001896a
cmp eax, 0x62405f71
jle 0x140018a55
cmp eax, 0x6fb1eea2
jle 0x140018ad7
cmp eax, 0x6fb1eea3
je 0x140018c2d
cmp eax, 0x77b2009c
je 0x140018c4a
cmp eax, 0x7d360d45
jne 0x140018923
mov eax, dword [rsp + 0x60]
mov ecx, 0x1c8acf92
xor eax, ecx
jmp 0x140018923
cmp eax, 0x2745755c
jle 0x140018a96
cmp eax, 0x303dc6fc
jle 0x140018b56
cmp eax, 0x303dc6fd
je 0x140018cb9
cmp eax, 0x40a872dd
je 0x140018cd5
cmp eax, 0x431144aa
jne 0x140018923
mov rcx, qword [rsp + 0x28]
call fcn.1400182a5
mov rax, qword [rsp + 0x30]
inc qword [rax + 8]
mov rax, qword [0x1401b5160]
lea rcx, [rax + rax]
cmp rax, 0x200001
mov eax, 0x400000
cmovl rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
add rax, 0x10
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov rax, qword [rax]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x120]
cmp byte [rsp + 0x98], 0
jne 0x140018a32
xor edx, edx
movsxd rsi, dword [rdx + r12]
xor dword [rsp + rsi*4 + 0x40], 0x47c49478
add rdx, 4
cmp rdx, 0xc
jne 0x140018a1c
cmp rcx, rax
mov eax, 0x3d5d9de5
mov ecx, 0x7ff40be5
cmovl eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0x98], rcx
jmp 0x140018923
cmp eax, 0x5fb8fe26
jg 0x140018b8c
cmp eax, 0x520aa150
je 0x140018ce8
cmp eax, 0x55455782
jne 0x140018e83
mov eax, dword [rsp + 0x70]
mov ecx, 0x8992b42
xor eax, ecx
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0xd0], rcx
jmp 0x140018923
cmp eax, 0x17ecc181
jg 0x140018bf7
cmp eax, 0x33c4088
je 0x140018cfe
cmp eax, 0xd5cdd11
jne 0x140018923
mov eax, dword [rsp + 0x54]
mov ecx, 0x31ec27da
xor eax, ecx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xc8], rcx
jmp 0x140018923
cmp eax, 0x62405f72
je 0x140018dda
cmp eax, 0x6af489b9
jne 0x140018923
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xc8]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
inc qword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.140015afd
cmp byte [rsp + 0xa8], 0
jne 0x140018b34
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x40], 0xe97711d
add rcx, 4
cmp rcx, 0x30
jne 0x140018b1e
test al, al
mov eax, 0x262ea326
mov ecx, 0x2caaaeff
cmovne eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0xa8], rcx
jmp 0x140018923
cmp eax, 0x2745755d
je 0x140018dfa
cmp eax, 0x2b7cb90e
jne 0x140018923
mov eax, dword [rsp + 0x58]
mov ecx, 0x31ec27da
xor eax, ecx
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xc8], rcx
jmp 0x140018923
cmp eax, 0x5fb8fe27
je 0x140018e20
cmp eax, 0x5fcc2877
jne 0x140018923
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
cmp byte [rsp + 0xb8], 0
jne 0x140018bd4
xor edx, edx
movsxd rsi, dword [rdx + rbp]
xor dword [rsp + rsi*4 + 0x40], 0x7a21c57f
add rdx, 4
cmp rdx, 0x48
jne 0x140018bbe
cmp rcx, rax
mov eax, 0x5b70f8e5
mov ecx, 0x1a815bc8
cmovl eax, ecx
xor eax, dword [rsp + 0x40]
mov cl, 1
mov qword [rsp + 0xb8], rcx
jmp 0x140018923
cmp eax, 0x17ecc182
je 0x140018e66
cmp eax, 0x23b1fc5f
jne 0x140018923
mov eax, dword [rsp + 0x48]
mov ecx, 0x1dc814d
xor eax, ecx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xc0], rcx
jmp 0x140018923
cmp r15d, 4
mov eax, 0x5da233bb
mov ecx, 0x540f518a
cmove eax, ecx
xor eax, dword [rsp + 0x80]
jmp 0x140018923
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x2098]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx]
cmp byte [rsp + 0xa0], 0
jne 0x140018c96
xor edx, edx
movsxd rsi, dword [rdx + rbx]
xor dword [rsp + rsi*4 + 0x40], 0x3d971519
add rdx, 4
cmp rdx, 0x24
jne 0x140018c80
cmp rcx, rax
mov eax, 0x169e9bd4
mov ecx, 0x7857e2e
cmovg eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xa0], rcx
jmp 0x140018923
test r15d, r15d
mov eax, 0x5da233bb
mov ecx, 0x540f518a
cmove eax, ecx
xor eax, dword [rsp + 0x84]
jmp 0x140018923
mov eax, dword [rsp + 0x88]
mov ecx, 0x5da233bb
xor eax, ecx
jmp 0x140018923
mov eax, dword [rsp + 0x68]
mov ecx, 0x37a03440
xor eax, ecx
mov r15d, 4
jmp 0x140018923
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xf0], rax
mov rsi, qword [rsp + 0xf0]
mov rcx, qword [rsi + 0x28a8]
call fcn.14001217a
mov qword [rsi], rax
mov rcx, qword [rsi + 0x28a8]
call fcn.140012292
mov qword [rsi + 8], rax
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
call fcn.140013d06
mov rax, qword [rsp + 0x30]
add rax, 0x20
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov qword [rsp + 0x100], rax
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
cmp byte [rsp + 0xb0], 0
jne 0x140018db7
xor edx, edx
movsxd rsi, dword [rdx + rdi]
xor dword [rsp + rsi*4 + 0x40], 0x59f86fa6
add rdx, 4
cmp rdx, 0x3c
jne 0x140018da1
cmp rax, rcx
mov eax, 0xfbc1cd4
mov ecx, 0x299c78cb
cmovl eax, ecx
xor eax, dword [rsp + 0x50]
mov cl, 1
mov qword [rsp + 0xb0], rcx
jmp 0x140018923
mov eax, dword [rsp + 0x4c]
mov ecx, 0x1dc814d
xor eax, ecx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xc0], rcx
jmp 0x140018923
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xd0]
mov qword [rax], rcx
mov eax, dword [rsp + 0x78]
mov ecx, 0x7064a038
xor eax, ecx
xor r15d, r15d
jmp 0x140018923
cmp byte [rsp + 0x90], 0
jne 0x140018e42
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x40], 0x7cbfe930
add rax, 4
cmp rax, 0xc
jne 0x140018e2c
cmp r15d, 4
mov eax, 0x7a924c4
mov ecx, 0x58250c9a
cmovl eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0x90], rcx
jmp 0x140018923
mov eax, dword [rsp + 0x74]
mov ecx, 0x8992b42
xor eax, ecx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0xd0], rcx
jmp 0x140018923
cmp eax, 0x490510ec
jne 0x140018923
mov rcx, qword [rsp + 0x28]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14001859a