Function at 0x14001ed58
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], rdx
mov qword [rbp], rcx
mov ecx, dword [0x1401dbf28]
mov eax, dword [0x1401dbf2c]
xor eax, 0x1fdae7e8
or ecx, ecx
xor ecx, 0xffffffff
or eax, eax
xor eax, 0xffffffff
mov edx, 0xdc42bda5
xor edx, 0x23bd425a
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0x5550ab8c
mov edx, 0xffffffff
xor edx, 0xbfeca31c
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0x2de8a882
mov ecx, 0xe43d5832
xor ecx, 0x64b1f7dd
cmp eax, ecx
je 0x14001ed2b
mov eax, dword [0x1401dbf30]
mov ecx, dword [0x1401dbf34]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3640d8ff
and ecx, 0xc9bf2700
imul ecx, edx
mov edx, eax
and edx, 0xc9bf2700
or eax, 0xc9bf2700
imul eax, edx
add eax, ecx
xor eax, 0xb8e13802
or eax, 0x710c365
mov dword [rbp - 0x24], eax
mov eax, 0x30
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.140009f59
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x24]
add r8, 0x60
mov qword [rbp - 0x20], r8
mov rcx, qword [rcx]
mov qword [rbp - 0x18], rcx
cmp rcx, rdx
setg cl
mov byte [rbp - 9], cl
cmp eax, 0xae449aaf
jae 0x14001ed2b
mov al, byte [rbp - 9]
test al, 1
jne 0x14001e5f6
jmp 0x14001e610
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14001e1f0
add rsp, 0x20
jmp 0x14001ec47
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jge 0x14001ec47
mov rax, qword [rbp]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x38], rax
cmp rax, 0
je 0x14001e690
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
movabs r8, 0x4be646bbda69f7ea
movabs rax, 0xf419b94425960815
xor r8, rax
movabs rax, 0x1871e3866f44b5c7
movabs r9, 0xe78e1c7990bb4a38
xor rax, r9
xor r8, rax
mov rax, rdx
xor rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14001e93a
mov ecx, dword [0x1401dbf38]
xor ecx, 0xe1770c3e
mov edx, dword [0x1401dbf3c]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
mov edx, 0xec530975
xor edx, 0x13acf68a
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x12419dcf
xor ecx, 0xedbe6230
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe689e6df
mov edx, 0xffffffff
xor edx, 0xb99a92e4
or eax, ecx
mov ecx, 0x248b7e3b
xor ecx, 0x9d11ecdf
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, eax
xor ecx, 0x88c3e9e1
xor ecx, 0xffffffff
and ecx, 0x88c3e9e1
shl ecx, 1
mov edx, 0x36663bc9
xor edx, 0xbea5d228
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x1d5a0ad6
mov ecx, 0x60a268c1
xor ecx, 0xa4f954ac
cmp eax, ecx
ja 0x14001ed34
mov r9, qword [rbp - 0x18]
mov r11, qword [rbp - 8]
mov eax, dword [str._sj_8]
mov ecx, dword [0x1401dbf44]
xor ecx, 0x2ba986eb
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
mov edx, 0x2ef65c20
xor edx, 0xd109a3df
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x28c29d3c
xor ecx, 0x72e6234f
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x3b768ed4
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf4661ee5
xor r8d, 0xb99e11a
xor ecx, r8d
imul ecx, edx
mov r8d, 0xb20081ce
xor r8d, 0x89760f1a
mov edx, eax
and edx, r8d
or eax, 0x3b768ed4
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xe6e4fc56
xor edx, 0x6cff23c1
and edx, ecx
mov r8d, 0x5827fc76
xor r8d, 0xd23c23e1
mov ecx, 0x45d1e471
xor ecx, 0xba2e1b8e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xdae3495f
xor r8d, 0x50f896c8
mov edx, eax
and edx, r8d
or eax, 0x8a1bdf97
imul eax, edx
add eax, ecx
mov ecx, 0x1348f8
xor ecx, 0x6a114584
mov r8, r11
sub r8, r9
mov qword [rbp - 0x50], r8
mov r10, r8
xor r10, 0xffffffffffffffff
movabs rdx, 0x4dd911e359941697
movabs rsi, 0x85f4a96c78405edd
xor rdx, rsi
and rdx, r10
mov rdi, 0xffffffffffffffff
movabs r10, 0xc82db88f21d4484a
xor rdi, r10
mov rsi, r8
and rsi, rdi
mov r10, r11
xor r10, 0xffffffffffffffff
movabs rbx, 0xc82db88f21d4484a
and r10, rbx
and r11, rdi
or rdx, rsi
or r10, r11
xor rdx, r10
cmp rdx, 0
setl dl
xor r8, r9
movabs r9, 0x26d163421921aae8
movabs r10, 0xd92e9cbde6de5517
xor r9, r10
cmp r8, r9
setg r9b
mov r8b, dl
xor r8b, r9b
xor r8b, 0xff
or dl, r9b
and dl, r8b
mov byte [rbp - 0x41], dl
cmp eax, ecx
jb 0x14001ed34
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14001e928
jmp 0x14001e8cd
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x18]
movabs r9, 0x4e5eb3a257391431
movabs rax, 0x4e5eb3a257391419
xor r9, rax
movabs rax, 0x60ce051c0dfabc87
movabs r10, 0x60ce051c0dfabc8f
xor rax, r10
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140011560
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov qword [rax], rcx
jmp 0x14001e93a
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14001ec47
mov eax, dword [0x1401dbf48]
mov ecx, 0x725f455c
xor ecx, 0x836be709
xor eax, ecx
add eax, dword [0x1401dbf4c]
mov ecx, 0x81a8da0b
xor ecx, 0x7e5725f4
mov r8d, eax
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
and r8d, ecx
mov ecx, 0xffffffff
xor ecx, 0x4d132fd8
mov edx, 0xffffffff
xor edx, 0x4d132fd8
and ecx, edx
xor r8d, 0xffffffff
xor ecx, 0xffffffff
and r8d, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x4d132fd8
and eax, ecx
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xa9e19aa1
xor eax, 0xad339332
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x4d20993
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x77fb8793
and ecx, 0x4d20993
and edx, 0x77fb8793
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xef79dd8d
xor ecx, 0xa27322b9
sub eax, ecx
cmp eax, 0x9e123224
ja 0x14001ed3d
mov rcx, qword [rbp]
mov edx, dword [0x1401dbf50]
mov r8d, dword [0x1401dbf54]
mov r9d, edx
xor r9d, r8d
mov eax, 0xbb88f14d
xor eax, 0x44770eb2
xor r9d, eax
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x28617243
and eax, r8d
or edx, 0x28617243
mov r8d, 0x9536646e
xor r8d, 0x6ac99b91
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov r8d, 0xb695479e
xor edx, edx
div r8d
mov rdx, qword [rbp - 8]
imul eax, eax, 0xde8e78a9
mov qword [rcx], rdx
cmp eax, 0xea586d4e
jae 0x14001e9fe
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x58], rax
jmp 0x14001ea90
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], rax
cmp rax, rcx
jge 0x14001ec35
mov rcx, qword [rbp - 0x30]
mov edx, 0x28
sub rsp, 0x20
call fcn.140006de0
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
sub rsp, 0x20
call fcn.140050921
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14001ec35
mov rdx, qword [rbp - 0x60]
movabs rcx, 0xfb9f2c3288e794d6
movabs rax, 0xfb9f2c3288e794d7
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp - 0x68], rax
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
movabs r8, 0x8dc25646f1b8c511
movabs r9, 0x723da9b90e473aee
xor r8, r9
and rcx, r8
movabs r8, 0x7ea0c44b6c649add
movabs r9, 0x815f3bb4939b6522
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14001ec3a
mov eax, dword [0x1401dbf58]
xor edx, edx
div dword [0x1401dbf5c]
mov ecx, 0x557e191e
xor ecx, 0x184a2efe
add eax, ecx
add eax, 0x58c3a324
sub eax, 0x34103e42
sub eax, 0x58c3a324
mov ecx, 0xc252c840
xor edx, edx
div ecx
cmp eax, 0x4e6dc5c6
jae 0x14001ed46
mov eax, dword [0x1401dbf60]
mov r8d, dword [0x1401dbf64]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xe9b91b69
xor ecx, 0x60f0353
xor edx, edx
div ecx
add eax, 0x34cb7d2f
mov ecx, 0xccb77c8
xor edx, edx
div ecx
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.1400067fe
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, 0x7fb83894
je 0x14001ebc4
jmp 0x14001ec35
jmp 0x14001ec47
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x58], rax
jmp 0x14001ea90
mov eax, dword [0x1401dbf68]
xor eax, 0x7d52fcb
mov ecx, dword [0x1401dbf6c]
xor ecx, 0x2200a5fd
sub eax, ecx
mov ecx, 0x61dd85b2
xor edx, edx
div ecx
or eax, 0xd021aaac
mov edx, 0xf8ab7f44
xor edx, 0x75480bb
mov ecx, eax
xor ecx, edx
and ecx, 0xff01300e
mov edx, 0x88d870c0
xor edx, 0x77d940ce
mov r8d, 0x5a903a16
xor r8d, 0xa56fc5e9
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x369a7fa5
xor ecx, 0xc1489b24
cmp eax, ecx
je 0x14001ed4f
mov eax, dword [0x1401dbf70]
mov edx, dword [0x1401dbf74]
xor edx, 0x9bf03a35
mov r8d, 0x9eaf9aa0
xor r8d, 0x6150655f
mov ecx, eax
xor ecx, r8d
and ecx, edx
mov r8d, 0x3b6f54c
xor r8d, 0xfc490ab3
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x81099c58
xor ecx, 0x6087c5ea
imul eax, ecx
mov ecx, 0xbc312932
xor ecx, 0x76478bb7
and eax, ecx
mov ecx, 0xce9ff1ee
xor ecx, 0xca2a7f1d
add eax, ecx
cmp eax, 0xe4574c45
ja 0x14001ecb5
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret
add edi, eax
invalid
or eax, 0xe90352fc
idiv cl
invalid
push rcx
rcr eax, 0xa8
jmp 0x14001e9fe
add bl, dl
sbb dl, byte [rcx + rbp*8 - 0x18b]
xchg esp, eax
xor dl, cl
mov ecx, ebp
pop rbp
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14001e1f0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14001e4e0