Function at 0x140177be0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rcx
mov eax, dword [0x14022b170]
sub eax, dword [0x14022b174]
imul eax, eax, 0x9f65165a
xor eax, 0x1cb66cd2
mov ecx, eax
and ecx, 0x317b8584
or eax, 0x317b8585
add eax, ecx
cmp eax, 0x2c2cd6aa
je 0x140177bf0
cmp rdx, 0xffffffffffffffff
je 0x140178060
mov eax, edx
and eax, 1
xor rdx, 1
lea rcx, [rdx + rax*2]
mov rax, qword [rsi]
lea rdx, [rax + rax]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 5
mov r14d, 4
cmovae r14, rcx
mov rdi, r14
shl rdi, 5
nop word [rax + rax]
mov ecx, dword [0x14022b178]
mov edx, dword [0x14022b17c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
and ecx, 0x797f5501
add ecx, 0x4cefe1ac
and ecx, 0x44c43201
cmp ecx, 0x43909b33
ja 0x140177c60
mov ecx, dword [0x14022b180]
mov edx, dword [0x14022b184]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
not edx
and edx, 0xdbe38254
mov r8d, ecx
and r8d, 0x241c7dab
imul r8d, edx
mov edx, ecx
and edx, 0xdbe38254
or ecx, 0xdbe38254
imul ecx, edx
add ecx, r8d
or ecx, 0xa64c000
and ecx, 0xaa7ce100
cmp ecx, 0xab5771ee
mov rcx, r14
shr rcx, 0x3a
mov edx, 0xc9e7f82f
nop word cs:[rax + rax]
xor ebx, ebx
test rcx, rcx
sete r8b
mov r9d, dword [0x14022b188]
imul r9d, dword [0x14022b18c]
imul r9, rdx
shr r9, 0x3e
mov r10d, r9d
not r10d
xor r9d, 3
and r10d, 0x89a2b0fb
or r10d, r9d
not r10d
add r10d, 0xbb272e78
cmp r10d, 0x3c9827d2
ja 0x140177d30
mov bl, r8b
test rax, rax
je 0x140177e75
mov ecx, dword [0x14022b190]
or ecx, dword [0x14022b194]
add ecx, 0x43847833
or ecx, 0x14068
and ecx, 0x5d65f76a
cmp ecx, 0xf1eda1d9
jne 0x140177db2
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rcx
shl rax, 5
nop word cs:[rax + rax]
mov ecx, dword [0x14022b198]
mov edx, dword [0x14022b19c]
mov r8d, ecx
and r8d, edx
or ecx, edx
add ecx, r8d
mov edx, ecx
xor edx, 0x105d5906
xor ecx, 0x4d220458
and ecx, 0x4d2f0558
mov r8d, edx
and r8d, 0xb2d0faa7
imul r8d, ecx
mov ecx, edx
and ecx, 0x4d2f0558
or edx, 0x4d2f0558
imul edx, ecx
lea ecx, [rdx + r8]
add ecx, 0x8b42d28e
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x28], rdx
cmp ecx, 0xe35ea188
jb 0x140177dc0
nop word cs:[rax + rax]
mov ecx, dword [0x14022b1a0]
sub ecx, dword [0x14022b1a4]
mov edx, ecx
and edx, 0xca300c2d
or ecx, 0xca300c2d
add ecx, edx
mov edx, ecx
not edx
or edx, 0xb5e5d3c
add ecx, edx
inc ecx
and ecx, 0x68a3c790
cmp ecx, 0x9ec75b48
ja 0x140177e30
mov qword [rsp + 0x38], rax
mov r15d, 8
jmp 0x140177e78
xor r15d, r15d
mov eax, dword [0x14022b1a8]
xor edx, edx
div dword [0x14022b1ac]
shl rbx, 3
or eax, 0x9872cfa1
mov ecx, eax
and ecx, 0x71236e16
xor eax, 0x71236e16
lea eax, [rax + rcx*2]
shr eax, 1
mov ecx, 0xa0bb8461
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x7b3f6352
je 0x140177eff
mov eax, dword [0x14022b1b0]
add eax, dword [0x14022b1b4]
or eax, 0xc912f3f0
shr eax, 3
imul r12, rax, 0x137f1cb3
shr r12, 0x39
or r12d, 0xd5151d8e
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rbx
mov r8, rdi
call fcn.140150370
cmp r12d, 0x66d398f8
jae 0x140177f1b
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rbx
mov r8, rdi
call fcn.1400ac0c0
jmp 0x140177eb6
cmp qword [rsp + 0x40], 0
jne 0x140177fe0
mov eax, dword [0x14022b1d8]
or eax, dword [0x14022b1dc]
or eax, 0x203ef5c
add eax, 0x5e160c18
cmp eax, 0x4774ee87
nop word cs:[rax + rax]
mov eax, dword [0x14022b1e0]
or eax, dword [0x14022b1e4]
and eax, 0xe1f6fd07
imul eax, eax, 0x3d7c04d9
add eax, 0xd9592dd3
cmp eax, 0xe2fee191
ja 0x140177f50
mov rax, qword [rsp + 0x48]
mov ecx, dword [0x14022b1e8]
mov edx, dword [0x14022b1ec]
not ecx
not edx
and edx, ecx
mov ecx, edx
not ecx
xor edx, 0xe3adc10b
and ecx, 0x63adc10b
add ecx, ecx
sub ecx, edx
not ecx
or ecx, 0x21da28bf
cmp ecx, 0x77429036
jne 0x140177fb5
mov qword [rsi + 8], rax
mov qword [rsi], r14
xor ecx, ecx
nop word [rax + rax]
mov qword [rsi + 8], rax
mov qword [rsi], r14
test cl, cl
jne 0x140177fc0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x14022b1b8]
mov ecx, dword [0x14022b1bc]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x2dba139a
or eax, 0xdbbfed2b
xor eax, 0x5234c538
cmp eax, 0x31a0217c
jb 0x140177fe0
nop dword [rax + rax]
mov eax, dword [0x14022b1c0]
sub eax, dword [0x14022b1c4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x69aac5d
and ecx, 0xf96553a2
imul ecx, edx
mov edx, eax
and edx, 0xf96553a2
or eax, 0xf96553a2
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x58e0e304
xor eax, 0x58e0e305
lea eax, [rax + rcx*2]
imul eax, eax, 0x5e9af74e
cmp eax, 0xb2b733f1
jb 0x140178010
mov eax, dword [0x14022b1c8]
xor edx, edx
div dword [0x14022b1cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x6b4d6509
and ecx, 0x94b29af6
imul ecx, edx
mov edx, eax
and edx, 0x94b29af6
or eax, 0x94b29af6
imul eax, edx
add eax, ecx
imul eax, eax, 0xc6395170
add eax, 0x20373e81
cmp eax, 0xf05c6f4f
ja 0x1401780c6
mov eax, dword [0x14022b1d0]
or eax, dword [0x14022b1d4]
or eax, 0x371bdefd
add eax, 0x90bc282f
ud2
ud2