Function at 0x14036fb40
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
mov esi, r9d
mov edi, dword [rsp + 0xb0]
test ecx, ecx
je 0x14036fbcf
test edx, edx
je 0x14036fc83
mov ecx, esi
xor ecx, 0xf59be3a7
mov edx, edi
xor edx, 0xc01aad64
call fcn.14036fab0
test al, 1
jne 0x14036fd46
mov bpl, 0x60
xor esi, 0x68a675c8
xor edi, 0x4c8f7ed7
nop word cs:[rax + rax]
mov al, 0x71
lock cmpxchg byte [0x14055a8c1], bpl
mov ebx, eax
sete dl
mov ecx, eax
mov r8d, esi
mov r9d, edi
call fcn.140178040
test al, 1
jne 0x14036fce9
cmp bl, 0x56
jne 0x14036fba0
jmp 0x14036fd46
mov eax, edi
xor eax, 0x1c56d83b
add eax, dword [0x14055af78]
cmp edx, eax
jne 0x14036fcb9
movzx eax, byte [0x14055a7c3]
cmp al, 0xfe
je 0x14036fe99
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x2f650d03
mov ebx, esi
xor ebx, 0x2f650d03
and ebx, esi
or ebx, ecx
mov ebp, edi
xor ebp, 0x1f15525c
lea r14, [rsp + 0x30]
and eax, 0xcb845b27
mov r15d, esi
and r15d, 0x347ba4d8
or r15d, eax
mov r13d, edi
xor r13d, 0x63078371
nop word cs:[rax + rax]
mov rcx, r14
mov edx, ebx
mov r8d, ebp
call fcn.14036fad0
movzx r12d, byte [rsp + 0x30]
movzx edx, byte [rsp + 0x31]
mov r9d, dword [0x14055af78]
add r9d, r13d
xor r9d, edi
mov ecx, r12d
mov r8d, r15d
call fcn.14036ffb0
test al, 1
jne 0x14036fdd5
cmp r12b, 0xfe
jne 0x14036fc40
jmp 0x14036fe99
movzx eax, byte [0x14055a819]
cmp al, 0x74
je 0x14036fdc9
mov cl, 0x13
nop word cs:[rax + rax]
mov al, 0x2f
lock cmpxchg byte [0x14055a819], cl
je 0x14036fd52
cmp al, 0x74
jne 0x14036fca0
jmp 0x14036fdc9
movzx eax, byte [0x14055a83c]
cmp al, 0xac
je 0x14036fe88
mov cl, 0x74
nop word [rax + rax]
mov al, 0xf
lock cmpxchg byte [0x14055a83c], cl
je 0x14036fe22
cmp al, 0xac
jne 0x14036fcd0
jmp 0x14036fe88
xor eax, eax
lea rcx, [0x14055a8b0]
lea rdx, [0x14045da90]
nop dword [rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
not r10b
mov r11d, r10d
xor r11b, r9b
not r9b
and r8b, r9b
or r8b, r11b
not r8b
xor r10b, r9b
and r10b, r9b
or r10b, r8b
mov byte [rax + rcx], r10b
lea r8d, [rax + 1]
cmp r8d, 0x10
jg 0x14036fd3e
inc rax
jmp 0x14036fd00
mov al, 0x56
xchg byte [0x14055a8c1], al
lea rax, [0x14055a8b0]
jmp 0x14036fea0
xor ecx, ecx
lea r14, [0x14055a810]
xor esi, 0x775e249f
lea rbx, [rsp + 0x44]
nop word cs:[rax + rax]
movsxd rcx, ecx
movzx edx, byte [rcx + r14]
mov eax, dword [0x14055af78]
mov r8d, edi
xor r8d, 0x4f13e9f9
mov r9d, edi
not r9d
and r9d, edi
xor r9d, r8d
xor r9d, eax
mov r8d, r9d
not r8d
and r8d, eax
lea eax, [r9 + r8*2]
xor eax, edi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], eax
mov r8d, ecx
mov r9, rbx
call fcn.14036faf0
mov ecx, dword [rsp + 0x44]
test al, 1
je 0x14036fd70
mov al, 0x74
xchg byte [0x14055a819], al
lea rax, [0x14055a810]
jmp 0x14036fea0
mov ebx, 1
lea r14, [0x14055a7c0]
lea r15, [0x14045d9a0]
xor esi, 0x8f14a34b
xor edi, 0x26ba6a23
nop word cs:[rax + rax]
lea eax, [rbx - 1]
cdqe
movzx ecx, byte [rax + r15]
xor byte [rax + r14], cl
mov ecx, ebx
mov edx, esi
mov r8d, edi
call fcn.1400aabb0
test al, 1
jne 0x14036fe91
inc ebx
jmp 0x14036fe00
xor eax, eax
lea r14, [0x14055a830]
lea r15, [0x14045da10]
xor esi, 0x8633ce16
xor edi, 0x5fd1cb42
lea rbx, [rsp + 0x40]
nop word cs:[rax + rax]
movsxd rcx, eax
movzx eax, byte [rcx + r15]
mov edx, eax
xor dl, al
not dl
and dl, byte [rcx + r14]
xor dl, al
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov r8d, ecx
mov r9, rbx
call fcn.14036fb20
mov eax, dword [rsp + 0x40]
cmp eax, 0xc
jl 0x14036fe50
mov al, 0xac
xchg byte [0x14055a83c], al
lea rax, [0x14055a830]
jmp 0x14036fea0
mov al, 0xfe
xchg byte [0x14055a7c3], al
lea rax, [0x14055a7c0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret