Function at 0x140132870
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x14159a1b0]
mov ecx, dword [0x14159a1b4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
xor ecx, 0xc0a95b15
xor eax, 0x16108020
and eax, 0x56b09a30
mov edx, ecx
and edx, 0xa94f65cf
imul edx, eax
mov eax, ecx
and eax, 0x56b09a30
or ecx, 0x56b09a30
imul ecx, eax
add ecx, edx
and ecx, 0xe12a70d0
cmp ecx, 0xb23132c5
jbe 0x1401328fe
xor eax, eax
call fcn.14020e090
sub rsp, rax
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
xor ecx, ecx
xor eax, eax
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
test cl, cl
jne 0x140132900
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
nop word cs:[rax + rax]
mov eax, dword [0x14159a1b8]
add eax, dword [0x14159a1bc]
or eax, 0x1c66ea84
and eax, 0x5e67ffcd
add eax, 0x5647af81
cmp eax, 0xc8785a29
ja 0x140132940
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
cmp rax, 1
jg 0x1401329fc
mov r14, qword [rsi + 0x28]
cmp eax, 1
jne 0x140132a53
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
jne 0x140132a65
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x90], rsi
mov eax, dword [0x14159a1e8]
add eax, dword [0x14159a1ec]
imul eax, eax, 0x62ea45be
or eax, 0x9834eb5c
imul rax, rax, 0x3d6221b1
shr rax, 0x3d
cmp eax, 0x6f3750a0
jbe 0x140132c29
jmp 0x140132c93
mov eax, dword [0x14159a1c0]
mov ecx, dword [0x14159a1c4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul eax, eax, 0xd97aee12
add eax, 0x5b3eae2e
mov ecx, eax
and ecx, 0x30ffcfc0
xor eax, 0x30ffcfc1
lea eax, [rax + rcx*2]
cmp eax, 0x6df846c7
jbe 0x140132b42
jmp 0x140132bb1
sub rsp, 0x20
call fcn.140237bf0
add rsp, 0x20
jmp 0x14013298f
mov dword [rbx], 0
mov byte [rbx + 4], 0
lea rax, [0x1415788b8]
mov qword [rdi], rax
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], r15
xorps xmm0, xmm0
movups xmmword [rdi + 0x18], xmm0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.140135e00
mov rcx, rax
call fcn.140136320
add rsp, 0x20
mov eax, dword [0x14159a1d8]
xor eax, dword [0x14159a1dc]
lea ecx, [rax + 0x60e045e5]
mov edx, ecx
and edx, 0xaac0f686
xor ecx, 0x553f0979
add eax, ecx
add eax, 0x60e045e5
sub eax, edx
or eax, 0x532b7d15
cmp eax, 0x6e316d2e
jne 0x140132af0
mov ecx, 7
int 0x29
nop word cs:[rax + rax]
mov eax, dword [0x14159a1e0]
xor edx, edx
div dword [0x14159a1e4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x6d7254fe
and ecx, 0x928dab01
imul ecx, edx
mov edx, eax
and edx, 0x928dab01
or eax, 0x928dab01
imul eax, edx
add eax, ecx
mov edx, eax
not edx
or edx, 0x9e3afaa8
add edx, eax
mov ecx, 7
int 0x29
cmp edx, 0x5b0c47e2
je 0x140132af0
ud2
mov eax, dword [0x14159a1c8]
xor edx, edx
div dword [0x14159a1cc]
mov ecx, eax
not ecx
and ecx, 0xc75f7b6c
mov edx, eax
and edx, 0x38a08493
imul edx, ecx
mov ecx, eax
and ecx, 0xc75f7b6c
or eax, 0xc75f7b6c
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x90e9d2a0
and ecx, 0x6f162d5c
imul ecx, edx
mov edx, eax
and edx, 0x6f162d5c
or eax, 0x6f162d5c
imul eax, edx
add eax, ecx
and eax, 0xc2631f40
lock dec qword [rsi]
sete cl
cmp eax, 0xdd6eff7f
jbe 0x140132bb7
lock dec qword [rsi]
jmp 0x140132b42
test cl, cl
je 0x140132c0f
xor eax, eax
test al, al
jne 0x140132bfd
mov eax, dword [0x14159a1d0]
mov ecx, dword [0x14159a1d4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
or eax, 0x8fabbd8b
and eax, 0x8fabbffb
cmp eax, 0x8c52a725
jae 0x140132bff
jmp 0x140132bc1
sub rsp, 0x20
mov rcx, rsi
call fcn.140132cf0
add rsp, 0x20
ud2
mov eax, dword [0x14159a1f0]
and eax, dword [0x14159a1f4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x75c450cc
and ecx, 0x8a3baf33
imul ecx, edx
mov edx, eax
and edx, 0x8a3baf33
or eax, 0x8a3baf33
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x766c12fb
xor eax, 0xf66c12fb
lea eax, [rax + rcx*2]
imul eax, eax, 0xb90db531
mov ecx, dword [0x1415acbd4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x88], r14
cmp eax, 0x66da19b5
jbe 0x140132cc0
mov eax, dword [0x1415acbd4]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x88], r14
jmp 0x140132c29
mov eax, dword [0x14159a1fc]
add eax, dword [0x14159a1f8]
and eax, 0xa233c2a8
xor eax, 0x61a47977
cmp eax, 0x64ad3b3d
ja 0x140132cc0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret