Function at 0x1401eac00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1401eac30
test edx, edx
je 0x1401ead28
mov eax, dword [0x1405a9dd4]
cmp eax, 0x2a
jg 0x1401eb1d0
jmp 0x1401eb1b1
mov eax, 0x4edefa7b
add eax, dword [0x14054dcbc]
cmp edx, eax
jne 0x1401eade0
movzx eax, byte [0x14054db32]
cmp al, 0x9b
je 0x1401eb0d3
mov ebp, 0x4edefa7d
mov r14b, 6
lea rsi, [rsp + 0x40]
lea rdi, [rsp + 0x30]
nop word cs:[rax + rax]
mov ecx, dword [0x1405a9dd0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14054dcbc]
add ecx, ebp
xor edx, edx
div ecx
test edx, edx
jne 0x1401eacde
mov al, 0x8f
lock cmpxchg byte [0x14054db32], r14b
mov ebx, eax
sete r15b
mov rcx, rsi
mov rdx, rdi
mov r8d, 0xcff27941
mov r9d, 0xa99fa2c7
call fcn.1401eb510
mov eax, dword [rsp + 0x40]
imul eax, dword [rsp + 0x30]
mov ecx, dword [0x14054dcbc]
mov edx, ecx
xor edx, 0x31210582
and edx, ecx
xor ecx, 0x4edefa7d
lea ecx, [rcx + rdx*2]
xor edx, edx
div ecx
test edx, edx
je 0x1401ead00
mov edx, dword [0x14054dcbc]
lea ecx, [rdx + 0xe228d15]
add edx, 0x466ff0a9
call fcn.1401eba30
test al, 1
je 0x1401eac70
jmp 0x1401eac8c
test r15b, r15b
jne 0x1401eaefa
mov ecx, ebx
mov edx, 0xee00fed2
mov r8d, 0xa05c573c
call fcn.1401eb5c0
test al, 1
je 0x1401eac70
jmp 0x1401eb0d3
movzx eax, byte [0x14054dbe0]
cmp al, 0xf6
je 0x1401eaee6
lea rsi, [rsp + 0x30]
xor ebx, ebx
jmp 0x1401ead52
movzx eax, byte [0x14054dcb8]
add al, 0xfc
cmp bpl, al
je 0x1401eaee6
mov rcx, rsi
mov edx, 0xefd0c5f8
mov r8d, 0xe13d9a8d
call fcn.1401ebaf0
cmp byte [rsp + 0x31], 0
jne 0x1401eae19
movzx ebp, byte [rsp + 0x30]
nop word cs:[rax + rax]
mov r8d, dword [0x14054dcbc]
lea edx, [r8 - 0x2a4dd554]
add r8d, 0xa674c364
mov rcx, rsi
call fcn.1401eb4b0
mov edi, dword [rsp + 0x30]
mov r9d, dword [0x14054dcbc]
lea r8d, [r9 - 0x4f356881]
add r9d, 0xf1c5ae5a
mov ecx, edi
mov rdx, rsi
call fcn.1401ebad0
imul edi, dword [rsp + 0x30]
test dil, 1
jne 0x1401eadd3
test bl, bl
je 0x1401ead40
mov eax, dword [0x1405a9dd4]
cmp eax, 0x5c
jge 0x1401ead80
jmp 0x1401eadcb
movzx eax, byte [0x14054db26]
movzx ecx, byte [0x14054dcb8]
add cl, 0xf4
cmp al, cl
je 0x1401eb161
mov cl, 0xf6
nop dword [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x14054db26], cl
je 0x1401eb063
cmp al, 0xee
jne 0x1401eae00
jmp 0x1401eb161
xor eax, eax
lea rcx, [0x14054dbd0]
lea rdx, [0x14046a270]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x1401eae48
inc rax
jmp 0x1401eae30
lea rax, [fcn.1401eac00]
lea esi, [rax + rax]
add esi, 0xf20
mov edi, esi
not edi
mov ebx, 0x7a578b23
nop word cs:[rax + rax]
mov eax, dword [0x1405a9dd0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401eaeb9
mov edx, dword [0x14054dcbc]
lea ecx, [rdx - 0x364ec3fa]
add edx, 0xe77cb2c1
call fcn.14008bef0
mov eax, dword [0x14054dcbc]
lea ecx, [rax + 0x4edefa7c]
mov edx, esi
xor edx, ecx
not ecx
and ecx, edi
or ecx, edx
not ecx
add eax, 0x4edefa7b
cmp ecx, eax
je 0x1401eaede
mov eax, dword [0x1405a9dd4]
mov ecx, dword [0x14054dcbc]
add ecx, ebx
mov edx, ecx
xor edx, 0xd4876f91
and ecx, 0x54876f91
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x1401eae70
jmp 0x1401eae81
mov al, 0xf6
xchg byte [0x14054dbe0], al
mov eax, dword [0x1405a9dd4]
cmp eax, 0x43
jle 0x1401eb16d
jmp 0x1401eb194
xor ebp, ebp
lea rax, [fcn.1401eac00]
lea r12d, [rax + rax]
add r12d, 0x460
mov dword [rsp + 0x44], r12d
not r12d
lea r13, [0x14054db30]
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x3f]
lea rbx, [rsp + 0x40]
jmp 0x1401eaf3a
test r15b, 1
jne 0x1401eb0af
movsxd r14, ebp
test dword [rsp + 0x44], r12d
jne 0x1401eaff5
nop dword [rax + rax]
movzx ebp, byte [r14 + r13]
mov eax, dword [0x14054dcbc]
lea r8d, [rax + 0x5a644612]
mov ecx, eax
xor ecx, 0x28ad79c9
and eax, 0x28ad79c9
lea r9d, [rcx + rax*2]
mov ecx, r14d
mov rdx, rsi
call fcn.1401eb7f0
add bpl, byte [rsp + 0x30]
mov byte [r14 + r13], bpl
lea eax, [r14 + 0x6a2e06f4]
mov ecx, eax
xor ecx, 0x95d1f90d
and eax, 0x15d1f90d
lea ebp, [rcx + rax*2]
mov dword [rsp + 0x28], 0x2bd5cd9d
mov dword [rsp + 0x20], 0x5bf4ac0a
mov ecx, ebp
mov rdx, rdi
mov r8, rbx
mov r9, rsi
call fcn.1401ebb10
mov ecx, dword [rsp + 0x40]
imul ecx, dword [rsp + 0x30]
movzx r15d, byte [rsp + 0x3f]
mov r9d, dword [0x14054dcbc]
lea r8d, [r9 + 0x54b5b2e8]
add r9d, 0xd09ac9b3
mov rdx, rsi
call fcn.14014c140
cmp dword [rsp + 0x30], 0
je 0x1401eaf30
mov ecx, r14d
mov rdx, rsi
mov r8d, 0x3615f546
mov r9d, 0xc0c98bc5
call fcn.1401eba50
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
lea rax, [0x14046a1e0]
movzx eax, byte [r14 + rax]
mov ebp, ecx
neg bpl
lea edx, [rcx - 1]
xor dl, bpl
and dl, al
xor dl, bpl
and bpl, al
add bpl, bpl
add bpl, dl
mov dword [rsp + 0x20], 0x42196e76
mov edx, ebp
mov r8, rsi
mov r9d, 0xdadc3c69
call fcn.1401eb550
mov eax, ebp
sub al, byte [rsp + 0x30]
add al, bpl
mov byte [r14 + r13], al
jmp 0x1401eaf50
xor eax, eax
lea rcx, [0x14054db20]
lea rdx, [0x14046a1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 5
jg 0x1401eb0dc
inc rax
jmp 0x1401eb080
mov eax, dword [0x1405a9dd4]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401eb0c0
mov ecx, 0x84ba9b88
mov edx, 0x786e299e
call fcn.1401eba70
lea rax, [0x14054db30]
jmp 0x1401eb0e9
mov eax, dword [0x1405a9dd4]
cmp eax, 0x26
jge 0x1401eb130
jmp 0x1401eb0fa
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 0xee
xchg byte [0x14054db26], al
mov r8d, dword [0x14054dcbc]
lea edx, [r8 + 0x2cdb7c9c]
add r8d, 0xce23dc05
lea rcx, [rsp + 0x30]
call fcn.1401ebac0
cmp dword [rsp + 0x30], 0x46
jl 0x1401eb161
nop dword [rax + rax]
mov al, 0xee
xchg byte [0x14054db26], al
mov eax, dword [0x1405a9dd4]
mov ecx, dword [0x14054dcbc]
mov edx, ecx
xor edx, 0xab19eb67
and ecx, 0x2b19eb67
lea ecx, [rdx + rcx*2]
add ecx, 0xa3c50f61
cmp eax, ecx
jge 0x1401eb130
jmp 0x1401eb0fa
lea rax, [0x14054db20]
jmp 0x1401eb0e9
mov eax, dword [0x1405a9dd4]
mov ecx, dword [0x14054dcbc]
mov edx, ecx
xor edx, 0x1820904d
and ecx, 0x1820904d
lea ecx, [rdx + rcx*2]
add ecx, 0x36be6a3a
cmp eax, ecx
jl 0x1401eb1a5
mov ecx, 0xf06a41b8
mov edx, 0xe1ec889a
call fcn.1401eb500
jmp 0x1401eb16d
lea rax, [0x14054dbd0]
jmp 0x1401eb0e9
lea rcx, [rsp + 0x30]
mov edx, 0xf3f73b13
mov r8d, 0xb3192f99
call fcn.1401eba20
mov al, 1
test al, al
jne 0x1401eb1e4
nop dword [rax]
movzx eax, byte [0x14054db60]
mov eax, dword [0x1405a9dd4]
cmp eax, 0x38
jge 0x1401eb1d0
jmp 0x1401eb1b1
cmp byte [rsp + 0x30], 0x39
je 0x1401eb249
mov cl, 0xc6
nop dword [rax]
mov al, 0xb8
lock cmpxchg byte [0x14054db60], cl
je 0x1401eb202
cmp al, 0x39
jne 0x1401eb1f0
jmp 0x1401eb249
xor edx, edx
lea rax, [0x14054db50]
lea rcx, [0x14046a200]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14054dcbc]
add edx, r8d
add edx, 0x4edefa7c
cmp edx, 0x10
jl 0x1401eb220
mov al, 0x39
xchg byte [0x14054db60], al
lea rax, [0x14054db50]
jmp 0x1401eb0e9