Function at 0x1401c1b80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1415a6108]
xor edx, edx
div dword [0x1415a610c]
and eax, 0xc68dea09
imul rax, rax, 0x396fd04d
shr rax, 0x3d
or eax, 0xff8c720
cmp eax, 0x704853d0
jbe 0x1401c1bd0
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415a6110]
mov ecx, dword [0x1415a6114]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0x133fdc7f
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x2d5a7f3c
and eax, 0x12a580c3
imul eax, edx
mov edx, ecx
and edx, 0x12a580c3
or ecx, 0x12a580c3
imul ecx, edx
add ecx, eax
or ecx, 0xce9c921d
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r9, rsp
cmp ecx, 0x9795ce1f
jb 0x1401c1bd0
mov eax, dword [0x1415a6118]
sub eax, dword [0x1415a611c]
mov ecx, eax
and ecx, 0x4395de78
xor eax, 0x4395de78
lea eax, [rax + rcx*2]
mov ecx, eax
xor ecx, 0x3cde042d
and eax, 0x4321fbd2
add eax, eax
sub eax, ecx
add eax, 0x17b1e257
cmp eax, 0xa1d32147
jae 0x1401c1c80
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415a6120]
or eax, dword [0x1415a6124]
mov ecx, eax
and ecx, 0xe07adad
xor eax, 0x8e07adad
lea ecx, [rax + rcx*2]
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x2f00396a
je 0x1401c1c80
mov rcx, qword [rsi]
cmp rcx, 0xffffffffffffffff
je 0x1401c1f23
movabs r8, 0x5f417d05f417d0
lea r10, [rcx + 1]
lea r11, [rcx + rcx]
mov r14d, 4
nop dword [rax]
mov eax, dword [0x1415a6128]
xor edx, edx
div dword [0x1415a612c]
mov edx, eax
or edx, 0x4e486861
not eax
and eax, 0x10131208
and edx, 0xeecc6865
or edx, eax
mov eax, edx
xor eax, 0x7f29010c
xor edx, 0xb0b24b01
and edx, eax
cmp r11, r10
mov rbx, r10
cmova rbx, r11
cmp rbx, 5
cmovb rbx, r14
cmp edx, 0xf9821b28
ja 0x1401c1ce0
xor r10d, r10d
cmp rbx, r8
setbe r10b
mov eax, ebx
not eax
and eax, 0x158
mov rdx, rbx
and rdx, 0xfffffffffffffea7
imul rdx, rax
mov eax, ebx
and eax, 0x158
mov r8, rbx
or r8, 0x158
imul r8, rax
add r8, rdx
shl r10, 3
nop dword [rax + rax]
mov eax, dword [0x1415a6130]
mov edx, dword [0x1415a6134]
mov r11d, eax
xor r11d, edx
not r11d
and r11d, edx
add r11d, r11d
sub edx, r11d
add edx, eax
mov eax, edx
xor eax, 0xc002240f
or edx, 0x15381800
and edx, eax
and edx, 0xd53a3c0f
add edx, 0x551d9e60
cmp edx, 0xcfd14f0e
ja 0x1401c1d70
test rcx, rcx
je 0x1401c1ddd
mov eax, dword [0x1415a6138]
imul eax, dword [0x1415a613c]
xor eax, 0x1bae3a5
add eax, 0xdac075cf
or eax, 0xf17b5daf
cmp eax, 0x8cc93a85
jae 0x1401c1de1
jmp 0x1401c1e12
xor eax, eax
jmp 0x1401c1e59
mov eax, dword [0x1415a6140]
xor edx, edx
div dword [0x1415a6144]
imul rax, rax, 0x4dff24b1
shr rax, 0x3c
add eax, 0xdff148de
and eax, 0x436148ec
mov rdx, qword [rsi + 8]
mov qword [r9], rdx
cmp eax, 0x7ebbf1d8
jbe 0x1401c1e1b
mov rax, qword [rsi + 8]
mov qword [r9], rax
jmp 0x1401c1de1
mov rax, rcx
and rax, 0xfffffffffffffea7
mov edx, ecx
not edx
and edx, 0x158
imul rdx, rax
mov eax, ecx
and eax, 0x158
or rcx, 0x158
imul rcx, rax
add rcx, rdx
mov qword [r9 + 0x10], rcx
xor eax, eax
nop dword [rax]
test al, al
jne 0x1401c1e50
mov eax, 8
mov qword [r9 + 8], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, r10
call fcn.1400316e0
add rsp, 0x20
cmp qword [rdi], 0
jne 0x1401c1f00
mov eax, 0x8deb9529
nop
mov ecx, dword [0x1415a6168]
mov edx, dword [0x1415a616c]
not ecx
not edx
or edx, ecx
not edx
or edx, 0x8eda7918
imul rdx, rax
shr rdx, 0x3d
add edx, 0x5996be
cmp edx, 0x9fc8294
ja 0x1401c1e80
mov rax, qword [rdi + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x1415a6170]
add ecx, dword [0x1415a6174]
and ecx, 0x705cb1e7
xor ecx, 0x60442144
add ecx, 0xe353fada
cmp ecx, 0x3ee1ad0e
ja 0x1401c1ec0
xor ecx, ecx
test cl, cl
je 0x1401c1fd3
jmp 0x1401c2014
mov eax, dword [0x1415a6148]
imul eax, dword [0x1415a614c]
xor eax, 0x210e0c00
and eax, 0x2d1e0e18
add eax, 0x7f7238ab
cmp eax, 0xf41e7c52
ja 0x1401c1f00
mov eax, dword [0x1415a6150]
mov ecx, dword [0x1415a6154]
mov edx, eax
and edx, ecx
not edx
not eax
not ecx
or ecx, eax
and ecx, edx
xor ecx, 0x10400800
or ecx, 0x4eb937bd
and ecx, 0x5ffbbfff
cmp ecx, 0x10088d7c
jne 0x1401c1f60
ud2
mov eax, dword [0x1415a6158]
mov ecx, dword [0x1415a615c]
mov edx, eax
not edx
or edx, ecx
not ecx
or ecx, eax
not ecx
not edx
or edx, ecx
mov eax, edx
and eax, 0x507a4c5c
and edx, 0x40500c4c
mov ecx, eax
xor ecx, 0x9f2e7330
add ecx, eax
sub ecx, edx
ud2
mov ecx, dword [0x1415a6178]
mov edx, dword [0x1415a617c]
not ecx
not edx
or edx, ecx
not edx
add edx, 0x62b41260
mov ecx, edx
xor ecx, 0x774f85ac
and edx, 0x8b07a53
add edx, edx
sub edx, ecx
imul ecx, edx, 0xdd31ef90
mov qword [rsi + 8], rax
mov qword [rsi], rbx
cmp ecx, 0x3d5f80db
jae 0x1401c201d
mov qword [rsi + 8], rax
mov qword [rsi], rbx
jmp 0x1401c1fd3
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret