Function at 0x140050740
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0xd0], r8
mov dword [rsp + 0xdc], edx
mov qword [rsp + 0xe0], rcx
mov eax, dword [0x140252670]
and eax, dword [0x140252674]
mov edx, 0xc5c2401b
xor edx, 0xc5c2401a
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x603d0a5c
xor edx, 0x1a55e9b7
or eax, edx
add eax, ecx
imul eax, eax, 0x12a8c18d
mov ecx, 0x9cee51e0
xor ecx, 0x62bf0677
add eax, ecx
add eax, 0x68d7226a
sub eax, 0xfe515797
cmp eax, 0xc8212196
jae 0x140050ba7
mov eax, dword [0x140252678]
xor edx, edx
div dword [0x14025267c]
or eax, 0xc1a16e1
or eax, 0xb30e4f14
mov ecx, 0x2167a473
xor ecx, 0x4b9ae6b5
sub eax, ecx
sub eax, 0xb404b004
add eax, 0x6afd42c6
mov dword [rsp + 0xbc], eax
call fcn.14004e8b3
mov qword [rsp + 0xb0], rax
call fcn.14004e8b3
mov eax, dword [rsp + 0xdc]
movsxd rcx, eax
call fcn.140064006
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
mov eax, dword [rsp + 0xbc]
mov qword [rsp + 0xc0], rdx
mov cl, byte [rcx]
mov dl, 0x1e
xor dl, 0x1e
cmp cl, dl
sete cl
mov byte [rsp + 0xcf], cl
cmp eax, 0xf0115b17
je 0x1400507b3
mov cl, byte [rsp + 0xcf]
xor eax, eax
test cl, 1
mov qword [rsp + 0xa8], rax
jne 0x140050861
jmp 0x140050b97
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc0]
mov r8d, 0x34672089
cmp rdx, 0
cmove rdx, r8
mov qword [rsp + 0x98], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rsp + 0xa0], rcx
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rsp + 0xa8], rax
je 0x140050b97
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
add rcx, 0xffffffffffffffff
and rcx, rdx
add rax, 8
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140050958
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffff
call fcn.140013507
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
jmp 0x140050b97
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140050b86
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xd0]
cmp rax, qword [rcx]
jne 0x1400509dd
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0xdc]
mov rdx, qword [rsp + 0x58]
add rdx, 8
imul rax, rcx, 0x18
add rdx, rax
add rdx, 8
xor eax, eax
cmp dword [rdx], r8d
mov rdx, rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x57], al
je 0x140050b4f
mov eax, dword [0x140252680]
mov ecx, 0x3fdd9d41
xor ecx, 0xf8b0e1b5
xor eax, ecx
mov ecx, dword [0x140252684]
add eax, 0xe393af94
sub eax, ecx
sub eax, 0xe393af94
add eax, 0xafd547fc
mov ecx, 0x58a25b47
xor ecx, 0x6d90be16
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x7570664e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7570664e
or eax, 0x7570664e
imul eax, edx
add eax, ecx
cmp eax, 0xa8ca459
je 0x140050bb0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8d, dword [0x140252688]
mov eax, 0x51065bdf
xor eax, 0xd62d4d19
xor r8d, eax
imul r8d, dword [0x14025268c]
add r8d, 0xe4bea93b
sub r8d, 0xb073920e
mov eax, 0x5c97af10
xor eax, 0xb829062b
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x5290d574
mov r9d, 0xffffffff
xor r9d, 0x5290d574
and r8d, r9d
mov r9d, 0x62df317a
xor r9d, 0x9d20ce85
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x7b88d65a
xor r8d, 0x1b0dfafe
or eax, r8d
mov dword [rsp + 0x2c], eax
add rdx, 0xffffffffffffffff
call fcn.14004fa4c
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
mov eax, dword [rsp + 0x2c]
mov qword [rsp + 0x30], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xfd31a979
ja 0x140050a4e
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
mov r8b, byte [rsp + 0x3f]
mov cl, 1
test r8b, 1
mov qword [rsp + 0x40], rdx
mov rdx, rax
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x57], cl
mov qword [rsp + 0xa8], rax
jne 0x140050b4f
jmp 0x140050b97
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov dl, byte [rsp + 0x57]
test dl, 1
mov qword [rsp + 0x88], rcx
mov rcx, rax
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xa8], rax
jne 0x1400508f3
jmp 0x140050b97
mov rax, qword [rsp + 0x70]
xor rax, 0xffffffffffffffff
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
add rsp, 0xe8
ret
or al, 0xa2
push qword [rcx - 0x17]
add edi, esp
invalid
invalid