Function at 0x1402236f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x14158dce0]
or eax, dword [0x14158dce4]
mov ecx, eax
not ecx
mov r9d, eax
or r9d, 0xcfccdfa5
mov r10d, r9d
and r10d, 0xbd6f9719
and ecx, 0x102042
imul ecx, r10d
and r9d, 0x429068e6
or eax, 0xcfdcffe7
imul eax, r9d
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0x130d7f01
add eax, ecx
inc eax
cmp eax, 0xa742100d
ja 0x14022378f
mov eax, dword [0x14158dce8]
or eax, dword [0x14158dcec]
mov ecx, 0x8c604e69
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x88843b17
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xd70963f5
jbe 0x14022379e
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
jmp 0x140223758
mov eax, dword [0x14158dcf4]
add eax, dword [0x14158dcf0]
xor eax, 0x6c4d5316
add eax, 0x51af37c2
mov ecx, eax
not ecx
and ecx, 0xe4474bb8
mov r9d, eax
and r9d, 0x1bb8b447
imul r9d, ecx
mov ecx, eax
and ecx, 0xe4474bb8
or eax, 0xe4474bb8
imul eax, ecx
add eax, r9d
cmp eax, 0x2b5887a9
jae 0x140223800
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x14158dcf8]
mov ecx, dword [0x14158dcfc]
not eax
not ecx
or ecx, eax
not ecx
mov eax, 0x5c50501f
sub eax, ecx
add ecx, 0xa3afafe0
and eax, 0xc9951253
and ecx, 0x366aedac
add ecx, eax
add ecx, 0xfd2b50b7
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r14, rsp
cmp ecx, 0x26a715af
jb 0x140223800
add rdx, r8
jb 0x140223bf2
nop word cs:[rax + rax]
mov eax, dword [0x14158dd00]
sub eax, dword [0x14158dd04]
add eax, 0xc9a07ac1
or eax, 0xec6f9628
cmp eax, 0x96ea3fee
jb 0x140223860
mov rcx, qword [rsi]
lea rax, [rcx + rcx]
mov r8d, 8
nop word [rax + rax]
mov r9d, dword [0x14158dd08]
sub r9d, dword [0x14158dd0c]
mov r10d, r9d
not r10d
or r10d, 0x46a90a41
add r9d, r10d
inc r9d
and r9d, 0xe427ef76
xor r9d, 0x287f47f0
cmp rax, rdx
mov rbx, rdx
cmova rbx, rax
cmp rbx, 9
cmovb rbx, r8
cmp r9d, 0x9d275aca
ja 0x140223890
mov r15, rbx
not r15
shr r15, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x14158dd10]
xor edx, edx
div dword [0x14158dd14]
mov edx, eax
xor edx, 0x1fbc9998
or eax, 0x436667
and eax, edx
add eax, 0xe9a59a14
or eax, 0xe0e53664
cmp eax, 0x6eeb14d2
jb 0x1402238f0
test rcx, rcx
je 0x140223a48
nop word [rax + rax]
mov eax, dword [0x14158dd18]
mov edx, dword [0x14158dd1c]
mov r8d, eax
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add edx, eax
not edx
and edx, 0x67d13f30
mov eax, edx
not eax
xor edx, 0x9503312
and edx, eax
xor edx, 0x214d160
cmp edx, 0xda345dd9
ja 0x140223930
mov r8, qword [rsi + 8]
mov eax, dword [0x14158dd20]
xor edx, edx
div dword [0x14158dd24]
mov edx, eax
not edx
or edx, 0xa4b6eea5
add eax, edx
inc eax
mov edx, eax
not edx
or eax, 0x8200400
or edx, 0x84923830
and edx, eax
not edx
and edx, 0x8cb23c30
cmp edx, 0x15217ca7
jae 0x1402239c0
mov qword [rdi], r8
mov qword [rdi + 0x10], rcx
nop word [rax + rax]
mov eax, dword [0x14158dd2c]
mov edx, eax
xor edx, eax
not edx
and edx, dword [0x14158dd28]
xor edx, eax
add edx, 0x18b68b67
and edx, 0x489ed087
mov qword [rdi], r8
mov qword [rdi + 0x10], rcx
cmp edx, 0x76749bc8
ja 0x1402239c0
nop
mov eax, dword [0x14158dd30]
and eax, dword [0x14158dd34]
add eax, 0xba483b
mov ecx, eax
not ecx
and ecx, 0x7f9f8926
and eax, 0x806076d9
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd467d5b8
and ecx, 0x2b982a47
imul ecx, edx
mov edx, eax
and edx, 0x2b982a47
or eax, 0x2b982a47
imul eax, edx
add eax, ecx
cmp eax, 0x4f1b4b3
jb 0x1402239f0
mov r12d, 1
jmp 0x140223a4b
xor r12d, r12d
mov eax, dword [0x14158dd38]
mov ecx, eax
not ecx
or ecx, dword [0x14158dd3c]
add eax, ecx
inc eax
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf87b874c
and ecx, 0x78478b3
imul ecx, edx
mov edx, eax
and edx, 0x78478b3
or eax, 0x78478b3
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xa22113d2
xor eax, 0x51c22424
and eax, 0xf1c22666
mov edx, ecx
and edx, 0xe3dd999
or edx, eax
xor edx, 0x7dbda0fe
and ecx, 0x8c7f8698
or ecx, edx
cmp ecx, 0xa9714db9
jae 0x140223ae0
mov qword [rdi + 8], r12
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rbx
mov r9, rdi
call fcn.140081580
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14158dd40]
xor eax, dword [0x14158dd44]
or eax, 0x7ebbf8e7
imul r13d, eax, 0x1497d50b
mov qword [rdi + 8], r12
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rbx
mov r9, rdi
call fcn.140081580
add rsp, 0x20
cmp r13d, 0x211e58e
je 0x140223ae0
cmp qword [r14], 0
jne 0x140223bf2
nop dword [rax + rax]
mov eax, dword [0x14158dd60]
mov ecx, dword [str._c]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0x454ca026
mov eax, ecx
not eax
and eax, 0x4b703922
mov edx, ecx
and edx, 0xb48fc6dd
imul edx, eax
mov eax, ecx
and eax, 0x4b703922
or ecx, 0x4b703922
imul ecx, eax
add ecx, edx
cmp ecx, 0xe7844595
ja 0x140223b30
mov rax, qword [r14 + 8]
mov ecx, dword [0x14158dd6c]
add ecx, dword [0x14158dd68]
mov qword [rsi + 8], rax
mov eax, 0xbac33577
imul rax, rcx
shr rax, 0x3f
add eax, 0x13c0c17
not eax
and eax, 0x1243b044
cmp eax, 0xfc66538d
jne 0x140223bb0
mov qword [rsi], rbx
nop
mov eax, dword [0x14158dd70]
mov ecx, dword [0x14158dd74]
xor ecx, eax
not ecx
and ecx, eax
imul rax, rcx, 0x67d936a5
shr rax, 0x3e
add eax, 0x1197697
and eax, 0x19441c
mov qword [rsi], rbx
cmp eax, 0xffaa90e6
ja 0x140223bb0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14158dd48]
add eax, dword [0x14158dd4c]
mov ecx, eax
xor ecx, 0x40402405
or eax, 0x4800
and eax, ecx
or eax, 0xbfbf93fa
cmp eax, 0x65ae6c09
jb 0x140223c51
mov eax, dword [0x14158dd50]
xor edx, edx
div dword [0x14158dd54]
mov ecx, eax
xor ecx, 0x15c932c7
add ecx, eax
and eax, 0xea36cd38
sub ecx, eax
mov eax, ecx
not eax
or eax, 0x61fcc9b0
add eax, ecx
add eax, 0x551cb0e6
ud2
ud2