Function at 0x1400236ed
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov qword [rsp + 0x118], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0xfc], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
lea rcx, [0x1400e7570]
movsxd rbp, dword [rax + rcx]
xor dword [rsp + rbp*4 + 0xb0], 0x78c104ba
add rax, 4
cmp rax, 0x58
jne 0x140023744
mov rax, rdx
dec rax
mov qword [rsp + 0x48], rax
mov eax, 0x6814487c
mov ecx, 0x7fd6cc80
cmovo ecx, eax
mov dword [rsp + 0x40], ecx
test rdx, rdx
mov eax, 0x759dd9ab
mov ecx, 0x53bdbdb4
cmovs ecx, eax
mov dword [rsp + 0x3c], ecx
mov eax, 0x62405f72
xor ecx, ecx
mov qword [rsp + 0x58], rcx
lea rsi, [0x1400e7704]
lea rdi, [0x1400e75d0]
lea rbx, [0x1400e76f0]
lea r8, [0x1400e76b0]
lea r9, [0x1400e76e0]
lea r10, [0x1400e76e8]
lea r11, [0x1400e7510]
lea r14, [0x1400e7670]
lea r15, [0x1400e7620]
mov ecx, 0
mov qword [rsp + 0x50], rcx
mov ecx, 0
mov qword [rsp + 0x90], rcx
mov ecx, 0
mov qword [rsp + 0x88], rcx
mov ecx, 0
mov qword [rsp + 0x78], rcx
xor ecx, ecx
mov qword [rsp + 0x80], rcx
xor ecx, ecx
mov qword [rsp + 0x70], rcx
xor ecx, ecx
mov qword [rsp + 0x60], rcx
xor ecx, ecx
mov qword [rsp + 0x68], rcx
xor r13d, r13d
cmp eax, 0x520aa14f
jle 0x140023891
cmp eax, 0x6af489b8
jg 0x140023904
cmp eax, 0x56259860
jle 0x1400239b5
cmp eax, 0x5fb8fe27
je 0x140023ac5
cmp eax, 0x62405f72
jne 0x140023d6e
cmp byte [rsp + 0x68], 0
jne 0x14002387d
xor eax, eax
movsxd rcx, dword [rax + r11]
xor dword [rsp + rcx*4 + 0xb0], 0x7a21c57f
add rax, 4
cmp rax, 0x54
jne 0x140023864
mov eax, dword [rsp + 0xb0]
xor eax, dword [rsp + 0x3c]
mov cl, 1
mov qword [rsp + 0x68], rcx
jmp 0x140023828
cmp eax, 0x2b7cb90d
jle 0x14002393d
cmp eax, 0x431144a9
jg 0x140023981
cmp eax, 0x2b7cb90e
je 0x140023b19
cmp eax, 0x40a872dd
jne 0x140023d7b
cmp byte [rsp + 0x70], 0
jne 0x1400238df
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0xb0], 0x7cbfe930
add rax, 4
cmp rax, 0x14
jne 0x1400238c6
cmp byte [rsp + 0x27], 0
mov eax, 0x3b7ea566
mov ecx, 0x1d8825fb
cmovne eax, ecx
xor eax, dword [rsp + 0xec]
mov cl, 1
mov qword [rsp + 0x70], rcx
jmp 0x140023828
cmp eax, 0x77b2009b
jg 0x140023a25
cmp eax, 0x6fb1eea3
jne 0x140023d5a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0xe4]
mov ecx, 0x351d628f
xor eax, ecx
jmp 0x140023828
cmp eax, 0x26959244
jg 0x140023a89
cmp eax, 0x549b891
je 0x140023bbc
cmp eax, 0x17ecc182
jne 0x140023d88
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0xd8]
mov ecx, 0x68a9d5ce
xor eax, ecx
jmp 0x140023828
cmp eax, 0x431144aa
je 0x140023bf9
cmp eax, 0x490510ec
jne 0x140023d95
cmp qword [rsp + 0x28], rdx
mov eax, 0x6137cccb
mov ecx, 0x2851ceff
cmovl eax, ecx
xor eax, dword [rsp + 0xf0]
jmp 0x140023828
cmp eax, 0x520aa150
je 0x140023c51
cmp eax, 0x55455782
jne 0x140023828
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0x88], 0
jne 0x1400239f5
xor ecx, ecx
movsxd rbp, dword [rcx + r9]
xor dword [rsp + rbp*4 + 0xb0], 0x3d971519
add rcx, 4
cmp rcx, 8
jne 0x1400239dc
test rax, rax
mov eax, 0x65977408
mov ecx, 0x553ec0d7
cmove eax, ecx
xor eax, dword [rsp + 0xd4]
mov cl, 1
mov qword [rsp + 0x88], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
jmp 0x140023828
cmp eax, 0x77b2009c
je 0x140023ce5
cmp eax, 0x77b8ca1c
je 0x140023d34
cmp eax, 0x7d360d45
jne 0x140023828
cmp byte [rsp + 0x58], 0
jne 0x140023a68
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0xb0], 0x28a16966
add rax, 4
cmp rax, 0x44
jne 0x140023a4f
mov eax, dword [rsp + 0xc4]
mov ecx, 0x443f7de0
xor eax, ecx
mov cl, 1
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov qword [rsp + 0x28], rcx
jmp 0x140023828
cmp eax, 0x26959245
je 0x140023c77
cmp eax, 0x2745755d
jne 0x140023828
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0xa8]
mov eax, 0x10545eb4
mov ecx, 0xf44d24e
cmovl eax, ecx
xor eax, dword [rsp + 0xdc]
jmp 0x140023828
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0x78], 0
jne 0x140023aec
xor ecx, ecx
movsxd rbp, dword [rcx + r10]
xor dword [rsp + rbp*4 + 0xb0], 0x775b11f8
add rcx, 4
cmp rcx, 8
jne 0x140023ad3
test rax, rax
mov eax, 0x1dca5b29
mov ecx, 0x42467377
cmove eax, ecx
xor eax, dword [rsp + 0xe0]
mov cl, 1
mov qword [rsp + 0x78], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
jmp 0x140023828
mov qword [rsp + 0x120], r13
mov dword [rsp + 0x44], r12d
mov r15, r11
mov r12, r10
mov r13, r9
mov rbp, r8
mov rcx, qword [0x1401add10]
mov r14, rdx
call fcn.14001a7a8
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x128], rax
cmp byte [rsp + 0x80], 0
jne 0x140023b78
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0xb0], 0x316dbcb9
add rax, 4
cmp rax, 0x4c
jne 0x140023b5f
mov eax, dword [rsp + 0xbc]
xor eax, dword [rsp + 0x40]
mov cl, 1
mov qword [rsp + 0x80], rcx
mov rdx, r14
mov r8, rbp
mov r9, r13
mov r10, r12
mov r11, r15
lea r14, [0x1400e7670]
lea r15, [0x1400e7620]
mov r12d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x120]
jmp 0x140023828
test r13b, r13b
jne 0x140023bcc
xor dword [rsp + 0x108], 0x2529ff56
cmp r12d, 4
mov eax, 0x4f2d719c
mov ecx, 0x6ebae961
cmove eax, ecx
xor eax, dword [rsp + 0x104]
mov r13b, 1
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x28], rcx
jmp 0x140023828
cmp qword [rsp + 0x28], 0
sets byte [rsp + 0x27]
cmp byte [rsp + 0x90], 0
jne 0x140023c29
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0xb0], 0x4ae4c48a
add rax, 4
cmp rax, 0x30
jne 0x140023c10
cmp byte [rsp + 0x27], 0
mov eax, 0x6dda2682
mov ecx, 0x67278f27
cmovne eax, ecx
xor eax, dword [rsp + 0xd0]
mov cl, 1
mov qword [rsp + 0x90], rcx
jmp 0x140023828
mov eax, dword [rsp + 0xcc]
mov ecx, 0x3dd6c991
xor eax, ecx
mov r12d, 4
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x98], rcx
jmp 0x140023828
mov rax, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x28]
mov al, byte [rax + rbp]
mov rcx, qword [rsp + 0x30]
mov byte [rcx + rbp + 0x10], al
mov rcx, rbp
inc rcx
seto al
mov qword [rsp + 0x130], rcx
cmp byte [rsp + 0x60], 0
jne 0x140023cc3
xor ecx, ecx
movsxd rbp, dword [rcx + rsi]
xor dword [rsp + rbp*4 + 0xb0], 0x1b98f6ac
add rcx, 4
cmp rcx, 8
jne 0x140023caa
test al, al
mov eax, 0x797c96a6
mov ecx, 0x48bd183e
cmovne eax, ecx
xor eax, dword [rsp + 0xf8]
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x140023828
mov rax, qword [rsp + 0x128]
cmp byte [rsp + 0x50], 0
jne 0x140023d0f
xor ecx, ecx
movsxd rbp, dword [rcx + r14]
xor dword [rsp + rbp*4 + 0xb0], 0x23b3651a
add rcx, 4
cmp rcx, 0x40
jne 0x140023cf6
cmp qword [rsp + 0x28], rax
mov eax, 0x583d50b0
mov ecx, 0x4926b54a
cmovg eax, ecx
xor eax, dword [rsp + 0xc8]
mov cl, 1
mov qword [rsp + 0x50], rcx
jmp 0x140023828
mov eax, dword [rsp + 0x100]
mov ecx, 0x10151287
xor eax, ecx
xor r12d, r12d
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x98], rcx
jmp 0x140023828
cmp eax, 0x6af489b9
je 0x140023da0
cmp eax, 0x6ff39071
jne 0x140023828
jmp 0x140023dbe
cmp eax, 0x56259861
jne 0x140023828
jmp 0x140023da5
cmp eax, 0x303dc6fd
jne 0x140023828
jmp 0x140023de1
cmp eax, 0xd5cdd11
jne 0x140023828
jmp 0x140023dcd
cmp eax, 0x46794484
jne 0x140023828
call fcn.140011264
mov rax, qword [rsp + 0x30]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
call fcn.14001ce24
movabs r8, 0x7fffffffffffffff
mov rcx, rdx
xor edx, edx
call fcn.14001c234
mov rdx, qword [rsp + 0xa0]
dec rdx
mov rcx, qword [rsp + 0x28]
call fcn.14001ce24
int3