Function at 0x1400393f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x141dc4e78]
or eax, dword [0x141dc4e7c]
imul rcx, rax, 0x1f8da7e7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
add eax, 0xdeaa8331
or eax, 0x9ed50fb0
cmp eax, 0x1e418bbf
jb 0x140039472
mov ecx, dword [0x141dc4e80]
imul ecx, dword [0x141dc4e84]
or ecx, 0xfd6bfffe
add ecx, 0xbf9d82f8
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x34a39dae
jae 0x14003948e
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
jmp 0x140039431
mov rax, qword [rsi]
mov ecx, 0x81c1dba7
nop word cs:[rax + rax]
mov edx, dword [0x141dc4e88]
or edx, dword [0x141dc4e8c]
shr edx, 1
imul rdx, rcx
shr rdx, 0x3e
or edx, 0x6d43a4da
cmp edx, 0xc48323c7
je 0x1400394a0
cmp rax, 0xffffffffffffffff
je 0x1400397f0
lea rcx, [rax + 1]
lea rdx, [rax + rax]
xor r8d, r8d
nop dword [rax]
test r8b, r8b
jne 0x1400394e0
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 9
mov edi, 8
cmovae rdi, rcx
test rdi, rdi
js 0x1400397f0
nop word cs:[rax + rax]
mov ecx, dword [str.C_sg]
add ecx, dword [0x141dc4e94]
imul ecx, ecx, 0xd60c5643
add ecx, 0x498ed8d0
or ecx, 0x6c9ce588
cmp ecx, 0xe1f78b7f
je 0x140039510
nop word cs:[rax + rax]
mov ecx, dword [0x141dc4e98]
imul ecx, dword [0x141dc4e9c]
or ecx, 0x79e07a00
and ecx, 0x79e07a04
cmp ecx, 0x53c77695
jb 0x140039540
test rax, rax
je 0x140039632
nop word [rax + rax]
mov ecx, dword [0x141dc4ea0]
imul ecx, dword [0x141dc4ea4]
and ecx, 0x88956030
xor ecx, 0xc08c1800
or ecx, 0x376287cf
cmp ecx, 0x916402ad
jb 0x140039570
mov rcx, qword [rsi + 8]
mov edx, dword [0x141dc4ea8]
imul edx, dword [0x141dc4eac]
mov r8d, 0xc545b40f
imul r8, rdx
shr r8, 0x3f
or r8d, 0xe0255466
cmp r8d, 0x11565ef4
jne 0x1400395d0
mov qword [r14], rcx
mov qword [r14 + 0x10], rax
nop dword [rax]
mov edx, dword [0x141dc4eb0]
or edx, dword [0x141dc4eb4]
and edx, 0xfc0b0b96
imul edx, edx, 0xe27047c2
add edx, 0x666dee80
mov qword [r14], rcx
mov qword [r14 + 0x10], rax
cmp edx, 0x726b5c45
ja 0x1400395d0
nop dword [rax]
mov eax, dword [0x141dc4eb8]
or eax, dword [0x141dc4ebc]
add eax, 0xac09f2d5
or eax, 0xa584eb10
shr eax, 1
imul rax, rax, 0x10e6f4c7
shr rax, 0x3b
cmp eax, 0xaffe1b6b
ja 0x140039600
mov r15d, 1
jmp 0x140039635
xor r15d, r15d
mov eax, dword [0x141dc4ec0]
and eax, dword [0x141dc4ec4]
or eax, 0x48ced1e
imul eax, eax, 0x3f11521e
and eax, 0x40250f0
cmp eax, 0xf8611733
ja 0x1400396a5
mov eax, dword [0x141dc4ec8]
xor edx, edx
div dword [0x141dc4ecc]
mov r12d, 0xa465d5f1
imul r12, rax
shr r12, 0x3a
add r12d, 0x976dad6c
and r12d, 0x156420c3
mov qword [r14 + 8], r15
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.1400381c0
add rsp, 0x20
cmp r12d, 0xcb171215
jbe 0x1400396c1
mov qword [r14 + 8], r15
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.1400381c0
add rsp, 0x20
jmp 0x140039658
cmp qword [rbx], 0
jne 0x1400397d0
nop dword [rax + rax]
mov eax, dword [0x141dc4ee0]
xor edx, edx
div dword [0x141dc4ee4]
shr eax, 3
imul rax, rax, 0x13e2f15
shr rax, 0x32
imul eax, eax, 0x37435a50
cmp eax, 0x5aae1211
ja 0x1400396d0
mov rax, qword [rbx + 8]
mov ecx, dword [0x141dc4ee8]
sub ecx, dword [0x141dc4eec]
add ecx, 0x6ac2296c
and ecx, 0x4d501347
imul rcx, rcx, 0x437d6563
shr rcx, 0x39
cmp ecx, 0x67918a6f
jne 0x140039730
mov qword [rsi + 8], rax
nop dword [rax]
mov ecx, dword [0x141dc4ef0]
xor ecx, dword [0x141dc4ef4]
imul ecx, ecx, 0xaaf497f0
or ecx, 0x60920082
and ecx, 0x68d74fc2
mov qword [rsi + 8], rax
cmp ecx, 0x246ca647
jb 0x140039730
mov eax, dword [0x141dc4ef8]
add eax, dword [0x141dc4efc]
or eax, 0xd5b7d226
add eax, 0xcd144131
imul rax, rax, 0x5a185279
shr rax, 0x3e
cmp eax, 0x71953910
jbe 0x140039790
mov qword [rsi], rdi
nop word cs:[rax + rax]
mov eax, dword [0x141dc4f00]
sub eax, dword [0x141dc4f04]
imul rax, rax, 0x53276353
shr rax, 0x3c
or eax, 0xea750556
xor eax, 0xb583f89b
mov qword [rsi], rdi
cmp eax, 0xa8b1dc69
ja 0x140039790
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, dword [str.28_bj]
xor edx, edx
div dword [0x141dc4ed4]
imul eax, eax, 0x29eada
add eax, 0xb415a076
cmp eax, 0x5885e78
jb 0x1400397d0
ud2