Function at 0x140084590
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x148
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x110], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x128], rax
add rax, 0x60
mov qword [rsp + 0x120], rax
mov rax, qword [rdx]
mov qword [rsp + 0x138], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x138]
call fcn.140052720
mov rcx, rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x130], rcx
mov al, byte [rax + 0x60]
mov cl, 0x7d
xor cl, 0x7d
cmp al, cl
jne 0x140084f55
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x130]
mov r8d, 0x5fa5bdb4
cmp rdx, 0
cmove rdx, r8
mov qword [rsp + 0xf0], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rsp + 0xf8], rcx
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rsp + 0x100], rax
je 0x140084f55
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
add rax, 0xffffffffffffffff
and rax, r8
add rdx, 8
mov qword [rsp + 0xd8], rdx
add rcx, 8
mov qword [rsp + 0xe0], rcx
movabs rcx, 0x3b3d9fa164a23627
movabs rdx, 0x3b3d9fa164a23627
xor rcx, rdx
cmp rax, rcx
mov qword [rsp + 0xe8], rax
jge 0x140084704
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rax]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
jmp 0x140084740
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
cmp rcx, rax
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
jl 0x14008476d
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffff
call fcn.140025e55
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x100], rax
jmp 0x140084f55
mov eax, dword [0x1402ab670]
mov r8d, dword [0x1402ab674]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0xefd65250
sub eax, 0x65c803a0
add eax, 0xefd65250
xor eax, 0xffffffff
mov ecx, 0xfa469adc
xor ecx, 0xc8397866
mov edx, 0x8b3ca4a
xor edx, 0xf74c35b5
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x386e1f00
or eax, ecx
mov ecx, 0x9b61752f
xor ecx, 0xa30f6a2f
or ecx, edx
mov edx, 0x12820c53
xor edx, 0xed7df3ac
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2bef5568
mov edx, 0xffffffff
xor edx, 0x2bef5568
and eax, edx
sub eax, ecx
mov ecx, 0xed1c5fe
xor ecx, 0x9ceef53a
cmp eax, ecx
je 0x140084f65
mov rcx, qword [rsp + 0xd8]
mov eax, dword [0x1402ab678]
xor edx, edx
div dword [0x1402ab67c]
mov rdx, qword [rsp + 0xb8]
sub eax, 0x9461aa3f
add eax, 0x65aa7e0c
add eax, 0x9461aa3f
xor r8d, r8d
sub r8d, 0x981ab8af
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xdcc963a5
xor r9d, 0xbd85df09
and r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x614cbcac
and eax, r9d
sub eax, r8d
mov rcx, qword [rcx]
mov qword [rsp + 0xa0], rcx
add rcx, 8
shl rdx, 5
add rcx, rdx
mov rcx, qword [rcx]
mov qword [rsp + 0xa8], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0xb7], cl
cmp eax, 0xf1748b27
ja 0x140084f65
mov al, byte [rsp + 0xb7]
test al, 1
jne 0x140084e3a
jmp 0x1400848bf
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x108]
cmp rax, qword [rcx]
jne 0x140084c04
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xa0]
add r8, 8
shl rax, 5
add r8, rax
add r8, 8
mov rax, qword [r8]
mov qword [rsp + 0x88], rax
mov r8, qword [r8 + 8]
mov qword [rsp + 0x90], r8
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x98], rdx
cmp rax, rcx
jne 0x140084c04
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
cmp rcx, 0
mov qword [rsp + 0x100], rax
je 0x140084f55
mov eax, dword [0x1402ab680]
mov ecx, dword [0x1402ab684]
xor ecx, 0x471b36b6
and eax, ecx
mov ecx, 0x2ed24439
xor ecx, 0xbe317734
or eax, ecx
imul eax, eax, 0x4f42848d
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x1c056adc
mov edx, 0x8b4a6fa7
xor edx, 0x974f057b
mov r8d, 0x1544d63b
xor r8d, 0xeabb29c4
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0xe18f7b65
je 0x140084f6e
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
mov eax, dword [0x1402ab688]
mov r9d, 0x870283aa
xor r9d, 0x2eaea42e
xor eax, r9d
or eax, dword [0x1402ab68c]
mov r9d, eax
and r9d, 0x715782d0
shl r9d, 1
add eax, 0x715782d0
sub eax, r9d
mov r9d, 0xc31611f0
xor r9d, 0x8cd23ed5
imul eax, r9d
mov r9d, eax
xor r9d, 0xd6bdb5b7
mov r10d, 0xffffffff
xor r10d, 0xd6bdb5b7
and eax, r10d
shl eax, 1
sub eax, r9d
add r8, 8
mov qword [rsp + 0x70], r8
add rdx, 8
mov qword [rsp + 0x78], rdx
cmp rcx, 0
setg cl
mov byte [rsp + 0x87], cl
cmp eax, 0x63264387
jbe 0x1400849b3
mov rax, qword [rsp + 0xb8]
mov dl, byte [rsp + 0x87]
xor ecx, ecx
test dl, 1
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x100], rax
jne 0x140084be4
jmp 0x140084f55
mov eax, dword [0x1402ab690]
mov r8d, dword [0x1402ab694]
mov ecx, 0xf0e8f875
xor ecx, 0x25526317
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul ecx, eax, 0xc8b97222
mov eax, 0xffffffff
xor eax, 0xb91d3e9a
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, 0x2003412e
xor edx, 0xdffcbed1
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc706a885
mov edx, 0xffffffff
xor edx, 0xc706a885
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x194891c9
jb 0x140084f77
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1402ab698]
mov r8d, dword [0x1402ab69c]
xor r8d, 0x4f95c1f8
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x88]
or eax, 0x3b33d518
add eax, 0xb8902d71
sub eax, 0xe5b1cde9
mov r8d, 0x9d1a88c4
xor r8d, 0x258aa5b5
sub eax, r8d
mov r8d, 0x113c414
xor r8d, 0x8acfe031
add eax, r8d
movabs r8, 0xf44b95fa8564c4fe
sub rcx, r8
add rcx, 1
movabs r8, 0x7fabbaf709fe660f
movabs r9, 0x8be02f0d8c9aa2f1
xor r8, r9
add rcx, r8
mov qword [rsp + 0x58], rcx
cmp rcx, rdx
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0xba873055
je 0x140084b1e
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
mov dl, byte [rsp + 0x67]
test dl, 1
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x100], rax
jne 0x140084f55
jmp 0x140084be4
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rdx
mov al, byte [rax + rdx]
cmp al, byte [rcx + rdx]
je 0x140084a85
mov rdx, qword [rsp + 0xb8]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x48], rax
movabs r8, 0xf10bc828b30960da
movabs rcx, 0xef437d74cf69f25
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r9, 0x9d599af779a2cbe0
movabs r8, 0x62a66508865d341f
xor r9, r8
mov r8, rdx
xor r8, r9
and rcx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x94be18ad69ebc084
movabs r9, 0x6b41e75296143f7b
xor r8, r9
xor rcx, r8
movabs r8, 0x75d9400cec8e3af2
movabs r9, 0x8a26bff31371c50d
xor r8, r9
xor rdx, r8
and rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x140084cde
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xc0]
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rax, rdx
and rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x140084d09
call fcn.14000ee80
mov rax, qword [rsp + 0x120]
mov cl, byte [rax]
mov dl, 0x77
xor dl, 0x77
mov rax, 0xffffffffffffffff
cmp cl, dl
mov qword [rsp + 0x100], rax
jne 0x140084f55
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1402ab6a0]
or eax, dword [0x1402ab6a4]
mov ecx, 0x1677bdce
xor ecx, 0xe9884231
mov edx, eax
xor edx, ecx
and edx, 0x145af01c
mov r8d, 0x14d24817
xor r8d, 0x88b80b
mov ecx, 0x9df5496b
xor ecx, 0x620ab694
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x42ce6798
xor r8d, 0x56949784
mov edx, eax
and edx, r8d
or eax, 0x145af01c
imul eax, edx
add eax, ecx
mov ecx, 0xdb2e4821
xor ecx, 0x11e008f9
xor edx, edx
div ecx
mov ecx, 0x72e883ae
xor edx, edx
div ecx
cmp eax, 0xd665007a
ja 0x140084f80
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1402ab6a8]
mov edx, dword [0x1402ab6ac]
xor edx, 0x3be1a55d
add eax, edx
mov edx, 0x2e53a2c0
xor edx, 0x16c0b2af
or eax, edx
or eax, 0x52db571a
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x7d9abe51
mov r9d, 0xffffffff
xor r9d, 0x7d9abe51
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x7d9abe51
mov r9d, 0xad525741
xor r9d, 0xd0c8e910
or eax, r9d
imul eax, r8d
add eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x273a0e37
je 0x140084f80
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x37]
test cl, 1
mov qword [rsp + 0xe8], rax
jne 0x1400846dc
jmp 0x140084704
mov eax, dword [0x1402ab6b0]
xor eax, 0xc24cccc4
mov r8d, dword [0x1402ab6b4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0x83b910c1
xor edx, 0x83b910c0
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x70cdb5a2
xor edx, 0xbbe5cd95
or eax, edx
add eax, ecx
mov ecx, 0xa019308b
xor ecx, 0x88de1492
xor edx, edx
div ecx
mov ecx, 0x6825ae50
xor edx, edx
div ecx
cmp eax, 0x33fdb821
je 0x140084f89
mov eax, dword [0x1402ab6b8]
xor edx, edx
div dword [str._qJA]
mov rdx, qword [rsp + 0xb8]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x5fb0797d
add ecx, eax
xor eax, eax
sub eax, ecx
mov r8d, 0xefd5556b
xor r8d, 0xcb8de575
mov ecx, eax
and ecx, r8d
shl ecx, 1
mov r8d, 0x58e31185
xor r8d, 0x7cbba19b
add eax, r8d
sub eax, ecx
mov ecx, 0x674aa5d0
xor ecx, 0xe2991778
and eax, ecx
mov ecx, 0x74942101
xor ecx, 0xbc12d515
movabs r8, 0xd7fff96fd4ce2c9a
xlatb
movabs r9, 0x280006902b31d365
xor r8, r9
xor rdx, r8
mov qword [rsp + 0x28], rdx
cmp eax, ecx
ja 0x140084eb6
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x100], rax
jmp 0x140084f55
mov rax, qword [rsp + 0x100]
add rsp, 0x148
ret
ja 0x140084f25
mov ecx, 0xf89fe989
invalid
mov dword [rdi], ebx
rol bl, 1
jmp 0x1400849b3
int 0xe0
test al, 0xae
jmp 0x140084b1e
mov edx, 0xe946e7e5
or eax, 0x51fffffe
push rcx
push rax
or ecx, dword [rbp - 0x17]
and al, 0xff
invalid