Function at 0x140147490
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rcx
call fcn.140149380
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rax
mov edx, 5
call fcn.140145040
mov rcx, qword [rsp + 0x100]
mov rdx, rax
mov qword [rsp + 0x108], rdx
mov cl, byte [rcx + 0x50]
test cl, cl
setne cl
test rax, rax
sete al
or cl, al
xor eax, eax
test cl, 1
mov byte [rsp + 0x117], al
jne 0x140147e8a
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x108]
movsxd r8, dword [rdx + 4]
mov qword [rsp + 0xb8], r8
mov edx, dword [rdx]
movsxd r8, edx
mov qword [rsp + 0xc0], r8
cmp edx, 0
setl dl
mov byte [rsp + 0xcf], dl
sub rax, rcx
mov qword [rsp + 0xd0], rax
xor eax, eax
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb0], rax
cmp rax, rcx
jae 0x140147dc8
mov al, byte [rsp + 0xcf]
test al, 1
jne 0x140147593
jmp 0x1401475a6
call fcn.14000b3d7
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rax, qword [rsp + 0xb0]
cmp rax, 0
jge 0x1401475cb
call fcn.14000b3d7
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov eax, dword [0x140258ea8]
xor edx, edx
div dword [0x140258eac]
mov r11d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc1a16e1
mov edx, 0xffffffff
xor edx, 0xb7740e87
mov ecx, eax
and ecx, 0xb7740e87
and r11d, edx
mov r9d, r8d
and r9d, 0xb7740e87
mov r10d, 0x629cfb4b
xor r10d, 0x6e86edaa
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
mov r8d, 0x2d2de5ab
xor r8d, 0xd2d21a54
xor eax, r8d
or edx, 0xb7740e87
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x84995eb1
xor edx, 0x379711a5
mov r8d, 0x27e7e322
xor r8d, 0xd8181cdd
xor edx, r8d
and eax, edx
mov edx, 0x1f901c99
xor edx, 0xe06fe366
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xb30e4f14
and ecx, edx
or eax, ecx
mov ecx, 0x911a8a70
xor ecx, 0x6ee5758f
xor eax, ecx
sub eax, 0x146549ee
sub eax, 0xb404b004
add eax, 0x146549ee
cmp eax, 0xf0115b17
je 0x140147e9e
mov r9, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xc0]
mov eax, dword [str._Fzs]
sub eax, dword [0x140258eb4]
add eax, 0xafd547fc
mov edx, 0xec799c4a
xor edx, 0xd94b791b
mov r8d, 0xd0d04d90
xor r8d, 0x2f2fb26f
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov edx, 0xc2f83a8
xor edx, 0x795fe5e6
imul eax, edx
mov r8, r9
add r8, rcx
mov qword [rsp + 0xa0], r8
mov rdx, r8
xor rdx, rcx
mov rcx, r8
and rcx, r9
shl rcx, 1
add r8, r9
sub r8, rcx
movabs r9, 0x4585bc440f880287
movabs rcx, 0xba7a43bbf077fd78
xor r9, rcx
mov rcx, rdx
xor rcx, r9
movabs r10, 0xb7e58bd20fcb119b
movabs r9, 0x481a742df034ee64
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x4f8cdc72e00c0b69
movabs r10, 0xb073238d1ff3f496
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl cl
mov byte [rsp + 0xaf], cl
cmp eax, 0xa8ca459
je 0x1401476aa
mov al, byte [rsp + 0xaf]
test al, 1
jne 0x1401477b6
jmp 0x1401477c9
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rdx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0xa0]
mov rcx, r9
add rcx, rdx
mov qword [rsp + 0x98], rcx
mov rax, rcx
and rax, rax
movabs r8, 0x20ae3be2be3efcf4
movabs r10, 0xdf51c41d41c1030b
xor r8, r10
xor rax, r8
and rax, r9
xor rax, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rax, 0xffffffffffffffff
movabs r9, 0xf9d71d1c448b844f
movabs r10, 0x628e2e3bb747bb0
xor r9, r10
xor r8, r9
or rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140147867
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
cmp eax, 0
je 0x140147dc8
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 4]
mov dword [rsp + 0x90], eax
cmp eax, 0
je 0x140147dc8
mov eax, dword [rsp + 0x90]
movsxd r8, eax
mov qword [rsp + 0x80], r8
mov rdx, r8
add rdx, 0xfffffffffffffff8
mov qword [rsp + 0x88], rdx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
movabs r9, 0x1321b47808e58b41
movabs r10, 0xecde4b87f71a74be
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
cmp eax, 7
setg al
and al, cl
test al, 1
jne 0x140147906
jmp 0x140147919
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x94]
mov rdx, qword [rsp + 0x88]
shr rdx, 1
mov qword [rsp + 0x60], rdx
movsxd rcx, ecx
mov qword [rsp + 0x68], rcx
movabs rdx, 0x7f806a8405f2a1b3
movabs rcx, 0xbc3f93d41fc985f0
xor rdx, rcx
mov rcx, rax
add rcx, rdx
add rcx, 8
movabs rdx, 0xa6329f86f5b0a910
movabs r8, 0x658d66d6ef8b8d53
xor rdx, r8
sub rcx, rdx
movabs r8, 0x7fd8d0bbe24a51e6
movabs rdx, 0x80272f441db5ae19
xor r8, rdx
mov rdx, rax
and rdx, r8
shl rdx, 1
add rax, 0xffffffffffffffff
sub rax, rdx
mov rdx, rcx
or rdx, rdx
movabs r8, 0xd5dcd109ec0ed6bd
movabs r9, 0x2a232ef613f12942
xor r8, r9
xor rdx, r8
or rax, rax
xor rax, 0xffffffffffffffff
or rdx, rax
xor rdx, 0xffffffffffffffff
xor eax, eax
cmp rdx, 0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jge 0x1401479fb
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
cmp rax, rcx
je 0x140147d9f
mov r11d, dword [0x140258eb8]
mov eax, 0xc03e9b5c
xor eax, 0x4883bd45
xor r11d, eax
mov edx, dword [0x140258ebc]
mov eax, r11d
xor eax, 0xffffffff
mov ecx, edx
and ecx, eax
mov eax, 0xc2122c5
xor eax, 0xf3dedd3a
mov r8d, edx
xor r8d, eax
mov eax, r11d
and eax, r8d
imul eax, ecx
mov ecx, r11d
and ecx, edx
or r11d, edx
imul r11d, ecx
add r11d, eax
sub r11d, 0xb073920e
mov eax, 0xbe4552e8
xor eax, 0xecd5879c
and r11d, eax
mov eax, 0xe8f3b888
xor eax, 0x170c4777
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x60852ca4
mov r8d, 0xffffffff
xor r8d, 0x7c47b10b
mov eax, ecx
and eax, 0x7c47b10b
and r11d, r8d
mov r9d, edx
and r9d, 0x7c47b10b
mov r10d, r8d
and r10d, 0x60852ca4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x584450f2
xor edx, 0x2403e1f9
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xfd31a979
ja 0x140147ea7
mov r9, qword [rsp + 0x68]
mov eax, dword [0x140258ec0]
mov ecx, 0x8f3dbfea
xor ecx, 0xcc2e68eb
xor eax, ecx
mov r8d, dword [0x140258ec4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r10d, r8d
xor r10d, 0xffffffff
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xe5abdc2c
xor ecx, 0x1a5423d3
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x29dbd017
mov edx, 0xc2663ec6
xor edx, 0x3d9cef7f
mov r8d, 0x4ee72cac
xor r8d, 0xb118d353
xor edx, r8d
or eax, ecx
mov ecx, 0xd4d2b56
xor ecx, 0xf2b7faef
or ecx, edx
mov edx, 0x962b0e54
xor edx, 0x69d4f1ab
xor eax, edx
and eax, ecx
or eax, 0x9abe9e1b
mov ecx, 0x95ddc423
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, 0xa2ba1616
xor ecx, 0x5bfd6e6a
mov dx, word [rdx]
mov word [rsp + 0x3e], dx
mov r8w, 0x3eb5
xor r8w, 0x314a
mov r10w, dx
xor r10w, r8w
xor r10w, 0xffff
mov r8w, dx
or r8w, 0xfff
and r8w, r10w
movzx r8d, r8w
add r8, r9
mov qword [rsp + 0x40], r8
cmp dx, 0xfff
seta dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
je 0x140147aed
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140147c00
jmp 0x140147d9f
mov cx, word [rsp + 0x3e]
mov ax, cx
add ax, 1
xor cx, 0xffff
or cx, 0xf000
add cx, ax
mov dx, 0x2411
xor dx, 0x1411
xor eax, eax
cmp cx, dx
mov byte [rsp + 0x117], al
jne 0x140147e8a
mov rax, qword [rsp + 0x40]
movabs rcx, 0xe3747ef65a16c12
movabs rdx, 0xe3747ef65a16c12
xor rcx, rdx
cmp rax, rcx
jge 0x140147c6b
call fcn.14000b3d7
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xe0]
xor eax, eax
cmp rcx, rdx
mov byte [rsp + 0x117], al
jge 0x140147e8a
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xf8]
mov r9, r8
add r9, rcx
mov qword [rsp + 0x30], r9
mov rax, r9
xor rax, rcx
movabs rdx, 0x722c280ecb0d6409
movabs rcx, 0x8dd3d7f134f29bf6
xor rdx, rcx
mov rcx, r9
xor rcx, rdx
movabs rdx, 0x83a6e706bece6c45
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x83a6e706bece6c45
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x83a6e706bece6c45
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140147d29
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xd0]
mov r9, qword [rcx]
movabs r10, 0x2ff0bff0d944d362
add rdx, r10
add rdx, r9
movabs r9, 0x2ff0bff0d944d362
sub rdx, r9
mov qword [rcx], rdx
mov rcx, r8
add rcx, 2
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
add rax, 1
cmp rdx, 0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jge 0x1401479fb
call fcn.140007e9d
xor eax, eax
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
and rax, rdx
or rcx, rdx
add rax, rcx
mov qword [rsp + 0xd8], rax
jmp 0x14014755e
mov eax, dword [0x140258ec8]
mov ecx, 0x54c1c08
xor ecx, 0xcf97c86e
xor eax, ecx
mov edx, dword [0x140258ecc]
xor edx, 0xc0c19ba8
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x81354bd8
xor ecx, 0x81354bda
imul ecx, r8d
sub ecx, edx
sub eax, ecx
and eax, 0x882982d5
mov ecx, 0x3c6b8446
xor edx, edx
div ecx
mov ecx, 0xc5f6b0eb
xor ecx, 0x637fbe91
xor eax, ecx
cmp eax, 0x7bb3e245
je 0x140147eb0
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140258ed0]
xor eax, 0x89d38225
and eax, dword [0x140258ed4]
add eax, 0xc29fbe62
mov edx, 0x8a61eebb
xor edx, 0x208bffac
imul eax, edx
mov r8d, 0x85264ff1
xor edx, edx
div r8d
cmp rcx, 0
setne cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xcd146995
ja 0x140147e2d
mov al, byte [rsp + 0x2f]
mov byte [rsp + 0x117], al
jmp 0x140147e8a
mov al, byte [rsp + 0x117]
and al, 1
movzx eax, al
add rsp, 0x118
ret
invalid
invalid
sub dword [rbp + 0x74e99984], 0xfffffff
invalid