Function at 0x203d7070
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
test ecx, ecx
je 0x203d70b9
test edx, edx
je 0x203d70e9
movzx eax, byte [0x2059e139]
cmp al, 0x37
je 0x203d723b
mov cl, 0xd
nop dword [rax]
mov al, 0x15
lock cmpxchg byte [0x2059e139], cl
je 0x203d718c
cmp al, 0x37
jne 0x203d70a0
jmp 0x203d723b
test edx, edx
je 0x203d7138
movzx eax, byte [0x2059e11d]
cmp al, 0x86
je 0x203d72ac
mov cl, 0xd3
nop
mov al, 0xb7
lock cmpxchg byte [0x2059e11d], cl
je 0x203d7247
cmp al, 0x86
jne 0x203d70d0
jmp 0x203d72ac
movzx eax, byte [0x2059df9a]
cmp al, 0xb9
je 0x203d7311
mov bl, 0x3d
mov edi, esi
xor edi, 0x5d55feae
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x2059df9a], bl
je 0x203d72b8
mov ecx, eax
mov edx, edi
mov r8d, 0x6e609cd0
call fcn.203da7c0
test al, 1
je 0x203d7110
jmp 0x203d7311
movzx eax, byte [0x2059e365]
cmp al, 0xcd
je 0x203d7375
mov ebx, 0xfbf02df
lea rdi, [rsp + 0x40]
nop word cs:[rax + rax]
mov edx, dword [0x2059f3b8]
add edx, ebx
xor edx, esi
mov rcx, rdi
mov r8d, 0xab8c849b
call fcn.203daf70
test al, 1
jne 0x203d731a
cmp byte [rsp + 0x40], 0xcd
jne 0x203d7160
jmp 0x203d7375
xor eax, eax
lea r15, [0x2059e130]
mov ebp, esi
not ebp
mov ecx, ebp
and ecx, 0xe6c31661
mov r13d, esi
and r13d, 0x193ce99e
or r13d, ecx
lea rdi, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
mov r12d, 0x85203d98
nop
movsxd r14, eax
movzx edx, byte [r14 + r15]
lea rax, [0x20493db0]
lea rcx, [rax + r14]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x30], 0xec067d7b
mov r8d, r14d
mov r9, rbx
call fcn.20292690
movzx ecx, byte [rsp + 0x3f]
mov rdx, qword [rsp + 0x40]
add rdx, r15
mov eax, dword [0x2059f3b8]
add eax, r12d
mov r8d, ebp
xor r8d, esi
and r8d, eax
xor r8d, esi
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], 0xec325cb5
mov r8d, r14d
mov r9, rdi
call fcn.2025aad0
mov eax, dword [rsp + 0x40]
cmp eax, 9
jl 0x203d71c0
mov al, 0x37
xchg byte [0x2059e139], al
lea rax, [0x2059e130]
jmp 0x203d737c
xor ecx, ecx
lea rbx, [0x2059e110]
lea r14, [0x20493d90]
mov ebp, 0x37d7c638
lea rdi, [rsp + 0x40]
nop word cs:[rax + rax]
movsxd rcx, ecx
movzx edx, byte [rcx + rbx]
add dl, byte [rcx + r14]
mov eax, dword [0x2059f3b8]
add eax, ebp
xor eax, esi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0xf2a9fa35
mov r8d, ecx
mov r9, rdi
call fcn.203db130
mov ecx, dword [rsp + 0x40]
test al, 1
je 0x203d7270
mov al, 0x86
xchg byte [0x2059e11d], al
lea rax, [0x2059e110]
jmp 0x203d737c
xor edi, edi
lea r15, [0x2059df70]
mov ebx, esi
xor ebx, 0x7c793fe4
lea r14, [rsp + 0x40]
nop
lea rcx, [r15 + rdi]
mov dword [rsp + 0x20], 0x50dc98fc
mov edx, edi
mov r8, r14
mov r9d, ebx
call fcn.203dadd0
movzx eax, byte [rsp + 0x40]
mov byte [rdi + r15], al
lea eax, [rdi + 1]
cmp eax, 0x29
jg 0x203d72ff
inc rdi
jmp 0x203d72d0
xor esi, 0xe8ca4945
mov ecx, esi
mov edx, 0x4e928302
call fcn.203db350
lea rax, [0x2059df70]
jmp 0x203d737c
xor edi, edi
lea rbx, [0x2059e350]
lea r14, [0x20493fd0]
xor esi, 0x91acf4e3
mov ebp, 0xac65a453
nop word cs:[rax + rax]
movzx edx, byte [rdi + rbx]
xor dl, byte [rdi + r14]
mov rcx, rdi
mov r8d, esi
mov r9d, 0x1ec57c4e
call fcn.203da900
lea eax, [rdi + 1]
mov ecx, dword [0x2059f3b8]
add ecx, ebp
cmp eax, ecx
jge 0x203d736d
inc rdi
jmp 0x203d7340
mov al, 0xcd
xchg byte [0x2059e365], al
lea rax, [0x2059e350]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret