Function at 0x1401ed560
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x28], rcx
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp - 0x10], rax
add rax, 0x60
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1401adaf0
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x1401ed9f1
mov ecx, 0x28
mov edx, 8
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
add rcx, 0x20
sub rsp, 0x20
call fcn.1401cf330
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ed9f1
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x1402c6158]
mov rdx, qword [rax]
mov qword [rbp + 0x38], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.1401dd9f0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ed9f1
mov rcx, qword [rbp - 0x28]
mov rax, qword [str.HY__]
mov rdx, qword [rax]
mov qword [rbp + 0x28], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1401dd9f0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ed9f1
mov rcx, qword [0x140336d08]
sub rsp, 0x20
call fcn.140086f20
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ed9f1
mov ecx, 0x436
sub rsp, 0x20
call fcn.14008e0ed
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x2c], ecx
cmp byte [rax], 0
jne 0x1401ed9f1
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rbp + 0x18]
sub rsp, 0x20
call fcn.1400a1026
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 0x38], rcx
cmp byte [rax], 0
jne 0x1401ed9f1
mov ecx, dword [0x1402b4b50]
mov eax, dword [0x1402b4b54]
mov edx, 0x1e34275d
xor edx, 0x149e5c35
sub ecx, edx
sub ecx, eax
mov eax, 0x29ff91a
xor eax, 0x8358272
add ecx, eax
mov eax, 0xffffffff
xor eax, 0x84a59121
add ecx, eax
add ecx, 1
xor ecx, 0xfb6e29f5
mov edx, 0x71af89f4
xor edx, 0x8e50760b
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x6179d225
mov edx, 0x861c5ee1
xor edx, 0xe7658cc4
mov r8d, 0x22e28d1f
xor r8d, 0xdd1d72e0
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x69491d5
je 0x1401edb79
mov rcx, qword [rbp - 0x20]
mov eax, dword [str.1Sg_]
mov r8d, dword [0x1402b4b5c]
mov edx, 0xc5b93632
xor edx, 0x867ef8e6
xor r8d, edx
xor edx, edx
div r8d
mov r8d, 0xcda470d0
xor r8d, 0x8d303b0d
mov edx, 0xb6fb24d5
xor edx, 0x4904db2a
xor r8d, edx
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0x40944bdd
add eax, r8d
sub eax, edx
mov r8d, 0xdab15d79
xor r8d, 0xc4359536
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x28]
mov r8d, edx
add r8d, 1
mov r9d, 0x8bef9ca9
xor r9d, 0x74106356
xor edx, r9d
or edx, 0xfd9b9b55
add edx, r8d
mov dword [rbp - 0x5c], edx
mov edx, 0x9a707615
xor edx, 0xd519570d
mov dword [rbp - 0x60], edx
mov rdx, qword [rax]
add rdx, 0x18
sub rsp, 0x20
call fcn.1401845b0
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rbp - 0x58], r9
mov r8, qword [r8 + 8]
mov qword [rbp - 0x50], r8
mov dl, byte [rdx]
mov r8b, 0x20
xor r8b, 0x20
cmp dl, r8b
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
jae 0x1401ed77b
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1401ed872
jmp 0x1401ed9f1
mov eax, dword [0x1402b4b60]
mov ecx, 0x5404d95
xor ecx, 0xb9d6222a
xor eax, ecx
xor edx, edx
div dword [0x1402b4b64]
mov ecx, eax
mov eax, 0xbf05a361
xor eax, 0xae365225
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x3727307e
or edx, 0x3727307e
mov r8d, 0x45c17758
xor r8d, 0xba3e88a7
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x3727307e
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf249e8e6
xor edx, 0x3ade08c4
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xc897e022
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc897e022
or eax, 0xc897e022
imul eax, edx
add eax, ecx
cmp eax, 0xc0974243
jae 0x1401edb82
mov ecx, dword [rbp - 0x2c]
mov r8, qword [rbp - 0x38]
mov r9, qword [rbp - 0x40]
mov eax, dword [0x1402b4b68]
mov r10d, dword [0x1402b4b6c]
xor edx, edx
sub edx, r10d
sub eax, edx
mov r10d, 0xdb7e2ec8
xor edx, edx
div r10d
mov rdx, qword [rbp - 0x58]
mov r10d, eax
mov rax, qword [rbp - 0x50]
mov esi, 0x3c0ca1a1
xor esi, 0xc3f35e5e
mov r11d, r10d
xor r11d, esi
and r11d, 0x40379aee
mov esi, 0xffffffff
xor esi, 0x40379aee
and r10d, esi
sub r10d, r11d
imul r10d, r10d, 0x23c665fe
mov dword [rbp - 0x68], r10d
mov qword [rbp + 8], r9
mov qword [rbp + 0x10], r8
mov qword [rbp - 8], rdx
mov qword [rbp], rax
lea rdx, [rbp + 8]
lea r8, [rbp - 8]
sub rsp, 0x20
call fcn.1400c2100
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0xfd1a780b
ja 0x1401ed919
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401ed9d2
jmp 0x1401ed9f1
mov ecx, 5
sub rsp, 0x20
call fcn.14008e250
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401edb72
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1401edb72
mov r8d, dword [0x1402b4b70]
xor r8d, 0x2b72d968
mov edx, dword [0x1402b4b74]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xc26e8d5e
mov r9d, 0x5e04bde1
xor r9d, 0x9c6a30bf
mov ecx, 0xf966f5e5
xor ecx, 0x6990a1a
xor r9d, ecx
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xc26e8d5e
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x393f4716
xor ecx, 0x1e07c3ce
xor eax, ecx
or eax, 0xcf4a25b4
mov ecx, 0xdffb0c91
xor ecx, 0x17c84189
sub eax, ecx
cmp eax, 0x51da5074
je 0x1401edb8b
mov rdx, qword [rbp - 0x70]
mov eax, dword [0x1402b4b78]
or eax, dword [0x1402b4b7c]
add eax, 0xa87146b7
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xfd20c719
xor r8d, 0xecf71c59
and r8d, ecx
mov r9d, 0xffffffff
xor r9d, 0x11d7db40
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x11d7db40
or eax, 0x11d7db40
imul eax, r8d
add eax, ecx
imul eax, eax, 0x11853f7c
mov ecx, 0x24fa0832
xor ecx, 0x34d98a57
mov rdx, qword [rdx + 0x18]
mov edx, dword [rdx + 8]
mov r8d, 0x5cd5214e
xor r8d, 0x88d068c8
cmp edx, r8d
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jbe 0x1401eda99
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401edb34
jmp 0x1401edb72
mov rax, qword [rbp - 0x18]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401dd8a0
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400c0539
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401edb72
sub rsp, 0x20
call fcn.1401d9237
add rsp, 0x20
lea rsp, [rbp + 0x48]
pop rsi
pop rbp
ret
push rsp
out dx, al
sub dword [rdi], ecx
jmp 0x1401ed77b
invalid
and eax, 0xe9e5006e
add eax, 0x66ffffff
nop word cs:[rax + rax]
sub rsp, 0x48
mov eax, dword [0x1402b4b80]
xor eax, 0xff51ca84
mov r8d, dword [0x1402b4b84]
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 ecx, 0x53893b29
xor ecx, 0x7daf61ee
add eax, ecx
and eax, 0x25b434ef
sub eax, 0xa0312cbd
mov ecx, 0xb91db55e
xor ecx, 0x87321651
cmp eax, ecx
je 0x1401edd0e
mov eax, dword [0x1402b4b88]
mov ecx, 0x439d3aa8
xor ecx, 0xfa84da67
xor eax, ecx
or eax, dword [0x1402b4b8c]
or eax, 0xdfe96964
mov r8d, 0x532b47d5
xor r8d, 0x4568d238
mov ecx, 0x234ad361
xor ecx, 0xdcb52c9e
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x633d8eb0
xor r8d, 0x757e1b5d
mov edx, eax
and edx, r8d
or eax, 0x164395ed
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x55f844c1
xor edx, 0x6150a5fd
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x34a8e13c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x34a8e13c
or eax, 0x34a8e13c
imul eax, edx
add eax, ecx
mov dword [rsp + 0x34], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov qword [rsp + 0x28], rax
mov ecx, 0x20
call fcn.14006c088
mov rcx, qword [rsp + 0x28]
mov rdx, rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x38], rdx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0x13b93d61
jbe 0x1401edc06
mov al, byte [rsp + 0x47]
test al, 1
jne 0x1401edcfd
jmp 0x1401edd09
add byte [rax - 0x75], cl
and al, 0x38
mov rax, qword [rsp + 0x38]
mov qword [0x140336d08], rax
add rsp, 0x48
ret
or dword [rdx - 0x2b], esp
jbe 0x1401edcfc
out dx, eax
invalid