Function at 0x140116340
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 eax, dword [0x140227140]
sub eax, dword [0x140227144]
xor eax, 0x73771ad7
mov edx, eax
and edx, 0x2658fec5
add edx, edx
sub eax, edx
cmp eax, 0x43b2916b
je 0x1401163ad
mov edx, dword [0x140227148]
sub edx, dword [0x14022714c]
and edx, 0xca513041
mov eax, edx
xor eax, 0x6f4e41d
or edx, 0xc8011040
and edx, eax
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rbx, rsp
cmp edx, 0x23292ac2
jne 0x1401163bc
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
jmp 0x140116374
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
mov rsi, qword [rcx]
nop
mov eax, dword [0x140227150]
mov edx, dword [0x140227154]
mov r8d, eax
xor r8d, edx
not r8d
or eax, edx
and eax, r8d
or eax, 0xb9e8dce5
cmp eax, 0xc9cfe03a
je 0x1401163d0
cmp rsi, 0xffffffffffffffff
je 0x140116778
lea rax, [rsi + 1]
movabs rdx, 0x5f417d05f417d0
lea r8, [rsi + rsi]
mov r9d, 4
nop dword [rax + rax]
mov r10d, dword [0x140227158]
mov r11d, dword [0x14022715c]
mov r14d, r11d
not r14d
or r14d, r10d
not r10d
or r10d, r11d
not r14d
not r10d
or r10d, r14d
mov r11d, r10d
or r11d, 0xc59d77bb
mov r14d, r10d
not r14d
and r14d, 0x32400840
mov r15d, r11d
and r15d, 0x4cafb29e
imul r15d, r14d
and r11d, 0xb3504d61
or r10d, 0xf7dd7ffb
imul r10d, r11d
add r10d, r15d
mov r11d, r10d
and r11d, 0xfffffffc
xor r11d, 0x76d24d32
and r10d, 0x76d24d31
or r10d, r11d
cmp r8, rax
mov r12, rax
cmova r12, r8
cmp r12, 5
cmovb r12, r9
xor r14d, r14d
cmp r12, rdx
setbe r11b
cmp r10d, 0x7075d239
je 0x140116420
mov eax, r12d
not eax
mov rdx, r12
and rdx, 0xfffffffffffffea7
and eax, 0x158
imul rax, rdx
mov edx, r12d
and edx, 0x158
mov r15, r12
or r15, 0x158
imul r15, rdx
add r15, rax
mov r14b, r11b
shl r14, 3
mov eax, dword [str.Spp]
xor edx, edx
div dword [0x140227164]
nop dword [rax + rax]
mov eax, dword [0x14022716c]
mov edx, eax
xor edx, eax
not edx
and edx, dword [0x140227168]
xor edx, eax
imul eax, edx, 0x484a3add
add eax, 0xdfbd9a6b
xor eax, 0x794f5fca
cmp eax, 0xf87b687
jb 0x140116510
test rsi, rsi
mov qword [rbp], rcx
je 0x1401165e6
mov rdx, rsi
and rdx, 0xfffffffffffffea7
mov rax, rsi
or rax, 0x158
nop dword [rax + rax]
mov r8d, dword [0x140227170]
mov r9d, r8d
not r9d
or r9d, dword [0x140227174]
add r9d, r8d
imul r8d, r9d, 0x45d38549
add r8d, 0x45d38549
and r8d, 0xb4366a5c
add r8d, 0x234907cd
cmp r8d, 0x6a0dcb0d
ja 0x140116560
mov r8d, esi
not r8d
and r8d, 0x158
imul r8, rdx
and esi, 0x158
imul rax, rsi
add rax, r8
mov r10, qword [rcx + 8]
mov edx, dword [0x140227178]
sub edx, dword [0x14022717c]
xor edx, 0x850104
or edx, 0xdf68b648
add edx, 0x590374bc
cmp edx, 0x77c0c54e
jbe 0x1401165eb
jmp 0x14011664b
xor r13d, r13d
jmp 0x14011665a
mov edx, dword [0x140227180]
mov r8d, dword [0x140227184]
mov r9d, r8d
and r9d, edx
add edx, r8d
sub edx, r9d
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xdfd4d9fb
and r8d, 0x202b2604
imul r8d, r9d
mov r9d, edx
and r9d, 0x202b2604
or edx, 0x202b2604
imul edx, r9d
add edx, r8d
add edx, 0x9ab958f4
mov qword [rbx], r10
mov qword [rbx + 0x10], rax
cmp edx, 0xb780e447
jae 0x140116654
mov qword [rbx], r10
mov qword [rbx + 0x10], rax
jmp 0x1401165eb
mov r13d, 8
mov eax, dword [0x140227188]
mov ecx, dword [0x14022718c]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not ecx
and ecx, eax
xor ecx, 0xade4cbe8
add ecx, 0x2b8d002f
xor ecx, 0x7d5cdd99
cmp ecx, 0x118f29ad
jb 0x1401166d7
mov eax, dword [0x140227190]
imul eax, dword [0x140227194]
imul rax, rax, 0xd7a277f
shr rax, 0x3b
imul esi, eax, 0x8fc7f7e1
add esi, 0xfa101674
mov qword [rbx + 8], r13
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, r15
mov r9, rbx
call fcn.140150370
add rsp, 0x20
cmp esi, 0x36ca9a57
jae 0x1401166f6
mov qword [rbx + 8], r13
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, r15
mov r9, rbx
call fcn.1400ac0c0
add rsp, 0x20
jmp 0x14011668e
cmp qword [rdi], 0
jne 0x140116730
xor eax, eax
mov rcx, qword [rbp]
nop word cs:[rax + rax]
test al, al
jne 0x140116710
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
mov qword [rcx], r12
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140227198]
imul eax, dword [0x14022719c]
and eax, 0x22004000
cmp eax, 0xd885cd9c
je 0x140116730
mov eax, 0x97cc6421
nop
mov ecx, dword [0x1402271a0]
sub ecx, dword [0x1402271a4]
xor ecx, 0x640a329f
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x8de0fb3b
cmp ecx, 0xafe9b620
ja 0x140116750
ud2