Function at 0x1400ecfe0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov dword [rsp + 0x2c], edx
mov qword [rsp + 0x30], rcx
mov eax, 0xd46dcb2a
xor eax, 0xd46dcbaa
cmp edx, eax
jae 0x1400ed017
mov rcx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x2c]
mov dl, al
call fcn.1400ed474
jmp 0x1400ed368
mov eax, dword [rsp + 0x2c]
cmp eax, 0x800
jae 0x1400ed0c8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
add rdx, 2
call fcn.140014c40
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rcx]
mov rax, qword [rcx + 8]
add rax, 8
lea r9, [0x140267fc8]
cmp r8, 0
cmove rax, r9
mov r9d, edx
shr r9d, 6
mov r11b, 0xff
xor r11b, 0xc0
mov r10b, r9b
and r10b, r11b
mov r11b, r9b
xor r11b, 0xc0
add r9b, r11b
sub r9b, r10b
mov byte [rax + r8 - 2], r9b
mov r8b, dl
and r8b, 0x3f
mov dl, r8b
xor dl, 0xff
xor r8b, 0xff
or dl, r8b
mov r8b, pe_nt_image_headers64
and r8b, 0x80
xor r8b, 0xff
and dl, r8b
xor dl, 0xff
mov rcx, qword [rcx]
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rcx, r8
mov byte [rax + rcx], dl
jmp 0x1400ed368
mov eax, dword [rsp + 0x2c]
cmp eax, 0x10000
jae 0x1400ed27b
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
mov rax, 0xffffffffffffffff
xor rax, 3
movabs r8, 0xe2f337505c7d655a
movabs r9, 0xe2f337505c7d655a
xor r8, r9
movabs r9, 0xe9d89c3219a5c91a
movabs r10, 0xe9d89c3219a5c91b
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
call fcn.140014c40
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rcx]
mov rax, qword [rcx + 8]
movabs r10, 0x8f6ca660adc54b81
movabs r9, 0x8f6ca660adc54b81
xor r10, r9
add rax, 8
lea r9, [0x140267fc8]
cmp r8, r10
cmove rax, r9
mov r9d, edx
shr r9d, 0xc
mov r10b, r9b
and r10b, 0xe0
xor r10b, 0xff
add r9b, 0xe0
add r9b, 1
add r9b, r10b
movabs r10, 0xa4c24c9f6d0c7e1
sub r8, r10
add r8, 0xfffffffffffffffd
movabs r10, 0x8154ca4efca2be7a
movabs r11, 0x8b18ee870a72799b
xor r10, r11
add r8, r10
mov byte [rax + r8], r9b
mov r8d, edx
shr r8d, 6
mov dil, r8b
and dil, 0x3f
mov r8b, dil
xor r8b, 0xff
mov r11b, 0xff
xor r11b, 0x80
mov r10b, 0xc5
xor r10b, 0x22
mov r9b, 0xa0
xor r9b, 0x5f
xor r10b, r9b
mov r9b, r8b
and r9b, 0xe7
and dil, r10b
mov bl, r11b
and bl, 0xe7
mov sil, 0x97
xor sil, 0x17
and sil, r10b
or r9b, dil
or bl, sil
xor r9b, bl
or r8b, r11b
mov r11b, 0xcc
xor r11b, 0x33
xor r8b, r11b
or r10b, 0xe7
and r8b, r10b
or r9b, r8b
mov r8, qword [rcx]
movabs r10, 0xef279c5c4dd8a670
movabs r11, 0x10d863a3b227598e
xor r10, r11
movabs r11, 0xc601016cccc206
movabs rsi, 0xff39fefe93333df9
xor r11, rsi
xor r10, r11
xor r11d, r11d
sub r11, 1
sub r10, r11
sub r8, r10
mov byte [rax + r8], r9b
mov r8b, dl
mov dl, 0xf9
xor dl, 0xc6
and r8b, dl
mov dl, r8b
and dl, 0x80
xor r8b, 0x80
or dl, r8b
mov rcx, qword [rcx]
mov byte [rax + rcx - 1], dl
jmp 0x1400ed368
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
mov rax, rdx
and rax, 4
shl rax, 1
xor rdx, 4
add rdx, rax
call fcn.140014c40
mov rcx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 8
lea rdx, [0x140267fc8]
cmp rax, 0
cmove rcx, rdx
mov qword [rsp + 0x20], rcx
mov r10d, r8d
shr r10d, 0x12
mov ecx, 0x46b1e9d3
xor ecx, 0x46b1e9d7
mov r11d, r8d
shr r11d, cl
mov rcx, qword [rsp + 0x20]
or r11d, r11d
mov edx, 0xffae9287
xor edx, 0x516d78
xor r11d, edx
mov edx, 0x3f00
or edx, 0x3f00
xor edx, 0xffffffff
or r11d, edx
xor r11d, 0xffffffff
mov r9d, r8d
shl r9d, 0xa
and r9d, 0x3f0000
shl r8d, 0x18
and r8d, 0x3f000000
mov edx, r10d
and edx, r11d
xor r10d, r11d
or edx, r10d
or edx, r9d
or edx, r8d
or edx, 0x808080f0
mov dword [rsp + 0x3c], edx
movabs rdx, 0x35ccdddba409dcc1
movabs r8, 0xca3322245bf6233d
xor rdx, r8
add rax, rdx
add rcx, rax
lea rdx, [rsp + 0x3c]
mov r8d, 4
call fcn.1400ed510
mov eax, dword [0x140256ce0]
xor edx, edx
div dword [0x140256ce4]
mov ecx, eax
and ecx, 0xb53f2f90
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x18058c0b
mov r8d, 0xffffffff
xor r8d, 0x18058c0b
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x18058c0b
or ecx, 0x18058c0b
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x7a4d80e1
xor edx, 0x85b27f1e
xor ecx, edx
or eax, ecx
mov ecx, 0x22a97397
xor ecx, 0xd2dc1ae4
mov edx, 0x9502c705
xor edx, 0x6afd38fa
xor ecx, edx
mov edx, 0x1001a1c
xor edx, 0xf175736f
mov r8d, 0xb4bebcf1
xor r8d, 0x4b41430e
xor edx, r8d
or ecx, edx
and eax, ecx
mov ecx, 0x9ee07ace
xor ecx, 0x611f8531
xor eax, ecx
cmp eax, 0xdf76f9d
je 0x1400ed46b
mov eax, dword [0x140256ce8]
xor eax, 0x2c2d38d4
mov ecx, dword [0x140256cec]
mov edx, 0xb09dea11
xor edx, 0x413a432
sub eax, edx
add eax, ecx
add eax, 0xb48e4e23
sub eax, 0x85292754
mov ecx, 0xed31e49e
xor ecx, 0xfa0cb171
add eax, ecx
mov ecx, 0x2a315936
xor ecx, 0x59410d88
or eax, ecx
cmp eax, 0xb56f84
jbe 0x1400ed414
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
rcl dword [rdx - 0x5f169b11]
invalid