Function at 0x1403a5d70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r12d, r9d
mov edi, dword [rsp + 0xc0]
test ecx, ecx
je 0x1403a5dc9
test edx, edx
je 0x1403a5e19
movzx eax, byte [0x1405497fb]
cmp al, 0xad
je 0x1403a5f6e
mov cl, 0x60
nop word [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x1405497fb], cl
je 0x1403a5eb6
cmp al, 0xad
jne 0x1403a5db0
jmp 0x1403a5f6e
mov eax, r12d
xor eax, 0x3f3f32
mov r8d, edi
xor r8d, 0x9c8fd7a0
mov ecx, edx
mov edx, eax
call fcn.1400a9630
test al, 1
je 0x1403a5e67
movzx eax, byte [0x140549814]
cmp al, 0x8e
je 0x1403a6125
mov cl, 0x1a
nop dword [rax]
mov al, 0xe5
lock cmpxchg byte [0x140549814], cl
je 0x1403a6078
cmp al, 0x8e
jne 0x1403a5e00
jmp 0x1403a6125
movzx eax, byte [0x140549702]
cmp al, 0xda
je 0x1403a606c
mov cl, 0x66
nop word [rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x140549702], cl
je 0x1403a5f7a
movzx edx, byte [0x140549cbc]
mov r8d, edi
xor r8b, 0xc
mov r9d, r8d
xor r9b, dl
and r8b, dl
add r8b, r8b
add r8b, r9b
cmp al, r8b
jne 0x1403a5e30
jmp 0x1403a606c
movzx eax, byte [0x140549713]
cmp al, 0xdf
je 0x1403a6184
mov sil, 0x6d
mov ebx, r12d
xor ebx, 0xf499edcd
mov ebp, edi
xor ebp, 0x3d8e8d5e
nop word [rax + rax]
mov al, 0x11
lock cmpxchg byte [0x140549713], sil
je 0x1403a612e
mov ecx, eax
mov edx, ebx
mov r8d, ebp
call fcn.1403a57a0
test al, 1
je 0x1403a5e90
jmp 0x1403a6184
xor ebx, ebx
mov r13d, edi
xor r13d, 0xbaf686f2
mov ebp, edi
xor ebp, 0x25ba04ce
lea r14, [rsp + 0x48]
mov r15d, r12d
mov esi, r12d
xor esi, 0x13b28e5f
xor edi, 0x20a941d5
nop word cs:[rax + rax]
lea rax, [0x1405497f0]
movzx r12d, byte [rbx + rax]
mov r8d, dword [0x140549cb8]
add r8d, r13d
xor r8d, r15d
mov rcx, rbx
mov rdx, r14
mov r9d, ebp
call fcn.1403a5790
movzx edx, byte [rsp + 0x48]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
mov ecx, r12d
mov r8d, ebx
lea r9, [rsp + 0x43]
call fcn.1403a5ce0
movzx eax, byte [rsp + 0x43]
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
lea eax, [rbx + 1]
cmp eax, 0xa
jg 0x1403a5f52
inc rbx
jmp 0x1403a5ef0
xor r15d, 0x403f6a9a
mov edx, dword [rsp + 0xc0]
xor edx, 0x9868d6bd
mov ecx, r15d
call fcn.1403a61a0
lea rax, [0x1405497f0]
jmp 0x1403a618b
xor ecx, ecx
mov eax, r12d
xor eax, 0x6a7ebbb1
mov dword [rsp + 0x54], eax
mov eax, edi
xor eax, 0x2d5cf4b5
mov dword [rsp + 0x50], eax
lea r14, [rsp + 0x48]
mov esi, edi
xor esi, 0xca985321
mov r13d, edi
xor r13d, 0x45af9405
mov ebp, r12d
xor ebp, 0x4fa1e8b
mov dword [rsp + 0x44], r12d
mov r15d, edi
xor r15d, 0x284d4006
nop word cs:[rax + rax]
movsxd r12, ecx
lea rbx, [0x1405496f0]
lea rcx, [rbx + r12]
mov r9d, dword [0x140549cb8]
add r9d, dword [rsp + 0x50]
xor r9d, edi
mov rdx, r14
mov r8d, dword [rsp + 0x54]
call fcn.1400ab3d0
movzx edx, byte [rsp + 0x48]
mov eax, dword [0x140549cb8]
mov ecx, esi
xor ecx, eax
and eax, esi
lea r9d, [rcx + rax*2]
xor r9d, dword [rsp + 0x44]
mov dword [rsp + 0x20], r13d
mov ecx, r12d
mov r8, r14
call fcn.1403a7350
movzx eax, byte [rsp + 0x48]
mov byte [r12 + rbx], al
mov ecx, r12d
mov rdx, r14
mov r8d, ebp
mov r9d, r15d
call fcn.1403a56d0
mov ecx, dword [rsp + 0x48]
test al, 1
je 0x1403a5fd0
mov eax, edi
xor eax, 0xc3f3eec3
add eax, dword [0x140549cb8]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [rsp + 0x44]
xor ecx, eax
xor edi, 0x2ca757a
mov edx, edi
call fcn.1403a5d10
lea rax, [0x1405496f0]
jmp 0x1403a618b
xor ecx, ecx
lea rsi, [0x140549800]
mov ebx, r12d
xor ebx, 0x68bb90c2
mov ebp, edi
xor ebp, 0x53bd8b3f
mov dword [rsp + 0x44], r12d
mov r14d, r12d
xor r14d, 0x12d2fc99
mov r13d, edi
xor r13d, 0x2102fd9f
lea r15, [rsp + 0x48]
movsxd r12, ecx
lea rdx, [rsi + r12]
movzx ecx, byte [r12 + rsi]
lea rax, [0x1404503b0]
movzx eax, byte [r12 + rax]
mov r8d, ecx
xor r8b, al
and cl, al
add cl, cl
add cl, r8b
mov r8d, ebx
mov r9d, ebp
call fcn.14014f2d0
mov eax, dword [0x140549cb8]
add eax, r13d
mov r9d, eax
xor r9d, eax
not r9d
and r9d, edi
xor r9d, eax
mov ecx, r12d
mov rdx, r15
mov r8d, r14d
call fcn.1402154d0
mov ecx, dword [rsp + 0x48]
test al, 1
je 0x1403a60b0
mov ecx, dword [rsp + 0x44]
xor ecx, 0x9a3d8b1c
xor edi, 0x9d3a1f45
mov edx, edi
call fcn.1403a5680
lea rax, [0x140549800]
jmp 0x1403a618b
mov ebx, 1
lea rsi, [0x140549710]
mov ebp, edi
lea rdi, [0x1404502c0]
xor r12d, 0x1f6a43b8
xor ebp, 0x848267bf
lea eax, [rbx - 1]
cdqe
movzx ecx, byte [rax + rdi]
mov edx, ecx
xor dl, cl
not dl
and dl, byte [rax + rsi]
xor dl, cl
mov byte [rax + rsi], dl
mov ecx, ebx
mov edx, r12d
mov r8d, ebp
call fcn.14016b5b0
test al, 1
jne 0x1403a617c
inc ebx
jmp 0x1403a6150
mov al, 0xdf
xchg byte [0x140549713], al
lea rax, [0x140549710]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret