Function at 0x1403da520
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, r9d
mov eax, edx
mov edx, r9d
test ecx, ecx
je 0x1403da598
xor edx, 0x18b35884
mov ecx, eax
mov r8d, 0xff1e433
call fcn.1400ab940
test al, 1
je 0x1403da5e9
movzx eax, byte [0x1405ba92c]
cmp al, 0xb2
je 0x1403da767
mov bl, 0xfe
mov edi, esi
xor edi, 0x7fb1aaf5
nop
mov al, 0xf2
lock cmpxchg byte [0x1405ba92c], bl
je 0x1403da689
mov ecx, eax
mov edx, edi
mov r8d, 0x8b097c96
call fcn.1403db190
test al, 1
je 0x1403da570
jmp 0x1403da767
xor edx, 0xe32b5b19
mov ecx, eax
mov r8d, 0x27cc4719
call fcn.1400ab940
test al, 1
je 0x1403da650
movzx eax, byte [0x1405ba96d]
cmp al, 0xcf
je 0x1403da82f
mov cl, 9
nop word cs:[rax + rax]
mov al, 0xf7
lock cmpxchg byte [0x1405ba96d], cl
je 0x1403da773
cmp al, 0xcf
jne 0x1403da5d0
jmp 0x1403da82f
movzx eax, byte [0x1405ba901]
cmp al, 0x43
je 0x1403da753
mov edi, 0x3bb3074
mov ebx, esi
not ebx
nop word cs:[rax + rax]
movzx eax, byte [0x1405bac8c]
lea ecx, [rax - 2]
lock cmpxchg byte [0x1405ba901], cl
je 0x1403da710
mov edx, dword [0x1405bac88]
add edx, edi
mov ecx, ebx
and ecx, edx
or edx, ebx
not edx
or edx, ecx
mov ecx, eax
mov r8d, 0x8815b898
call fcn.1403dae20
test al, 1
je 0x1403da610
jmp 0x1403da753
movzx eax, byte [0x1405ba870]
cmp al, 0x14
je 0x1403da814
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x1405ba870], cl
je 0x1403da7c2
cmp al, 0x14
jne 0x1403da670
jmp 0x1403da814
xor edi, edi
mov ebp, esi
xor ebp, 0xe7eddb59
lea rbx, [rsp + 0x47]
lea r14, [rsp + 0x48]
xor esi, 0x62c8d6a8
mov r15d, 0x203e7d02
nop dword [rax]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], 0x1c6fa923
mov rcx, rdi
mov edx, edi
mov r8, rbx
mov r9, r14
call fcn.1403db130
movzx edx, byte [rsp + 0x47]
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1405bac88]
add eax, r15d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
mov r8d, edi
mov r9, rbx
call fcn.1403db1a0
movzx eax, byte [rsp + 0x47]
mov rcx, qword [rsp + 0x48]
mov byte [rcx], al
lea eax, [rdi + 1]
cmp eax, 0xb
jg 0x1403da75f
inc rdi
jmp 0x1403da6b0
xor edx, edx
lea rax, [0x1405ba8f0]
lea rcx, [0x1404b0860]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x1405bac88]
add edx, r8d
add edx, 0x85693da2
cmp edx, 0x11
jl 0x1403da720
xor esi, 0x76852b49
mov ecx, esi
mov edx, 0x6e4eb936
call fcn.1403db150
lea rax, [0x1405ba8f0]
jmp 0x1403da836
mov al, 0xb2
xchg byte [0x1405ba92c], al
lea rax, [0x1405ba920]
jmp 0x1403da836
xor edi, edi
mov ebx, esi
xor ebx, 0x58ae07e2
lea r14, [rsp + 0x48]
lea r15, [0x1405ba960]
lea r12, [0x1404b08d0]
mov ecx, edi
mov rdx, r14
mov r8d, ebx
mov r9d, 0x364957dd
call fcn.140152500
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + r15]
add al, byte [rdi + r12]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 0xc
jg 0x1403da81d
inc rdi
jmp 0x1403da790
xor ecx, ecx
lea rbx, [0x1405ba860]
lea r14, [0x1404b07e0]
xor esi, 0x29b56aa8
lea rdi, [rsp + 0x48]
nop dword [rax]
movsxd r8, ecx
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
xor cl, byte [r8 + r14]
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x28], 0xe452405
mov r9, rdi
call fcn.1403daa40
mov ecx, dword [rsp + 0x48]
test al, 1
je 0x1403da7e0
mov al, 0x14
xchg byte [0x1405ba870], al
lea rax, [0x1405ba860]
jmp 0x1403da836
xor esi, 0x14680ced
mov ecx, esi
mov edx, 0xe7e9e02f
call fcn.1403dab90
lea rax, [0x1405ba960]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret