Function at 0x203d4060
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x203d40af
mov eax, 0xac65a43e
add eax, dword [0x2059f3b8]
cmp edx, eax
jne 0x203d40e9
movzx eax, byte [0x2059ddca]
cmp al, 0x23
je 0x203d43a2
mov cl, 0x3c
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2059ddca], cl
je 0x203d411b
movzx edx, byte [0x2059f3bc]
add dl, 0xcf
cmp al, dl
jne 0x203d4090
jmp 0x203d43a2
test edx, edx
je 0x203d4107
movzx eax, byte [0x2059e2f1]
cmp al, 0x64
je 0x203d4237
mov cl, 0xd1
nop word cs:[rax + rax]
mov al, 0x77
lock cmpxchg byte [0x2059e2f1], cl
je 0x203d41e1
cmp al, 0x64
jne 0x203d40d0
jmp 0x203d4237
mov eax, dword [0x205b7030]
mov ecx, 0x3a7e1c5f
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x203d43b8
jmp 0x203d43ab
mov eax, dword [0x205b7034]
cmp eax, 0x58
jle 0x203d4243
jmp 0x203d4265
xor edx, edx
mov r8d, 0xffffffff
lea r9, [0x2059ddc0]
lea r10, [0x20493a70]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x205b7030]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x203d4190
nop word cs:[rax + rax]
movzx eax, byte [rdx + r10]
add byte [rdx + r9], al
mov eax, dword [0x205b7034]
cmp eax, 0x4a
jg 0x203d4190
lea eax, [rdx + 1]
cmp eax, 9
jg 0x203d41cd
add r11d, 2
add r8d, 0xfffffffe
inc rdx
jmp 0x203d4140
movzx eax, byte [rdx + r9]
movzx ecx, byte [rdx + r10]
add al, 0xb2
mov ebx, eax
xor bl, 0x5e
and al, 0x5e
add al, al
add al, bl
sub al, cl
add al, 0xf0
mul cl
mov ebx, eax
shl bl, cl
mov cl, 0x72
sub cl, al
mov esi, ecx
xor sil, 0x8e
and cl, 0xe
add cl, cl
add cl, sil
add bl, al
add bl, cl
mov byte [rdx + r9], bl
jmp 0x203d4160
mov eax, dword [0x205b7034]
cmp eax, 0xf
jge 0x203d4380
jmp 0x203d4355
xor eax, eax
lea rcx, [0x2059e2e0]
lea rdx, [0x20493f60]
nop word cs:[rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
mov r8d, dword [0x2059f3b8]
mov r9d, r8d
xor r9d, 0xac65a43f
and r8d, 0x2c65a43f
lea r8d, [r9 + r8*2]
add eax, r8d
cmp eax, 0x11
jl 0x203d4200
mov al, 0x64
xchg byte [0x2059e2f1], al
lea rax, [0x2059e2e0]
jmp 0x203d4352
movzx eax, byte [0x2059ddb4]
movzx ecx, byte [0x2059f3bc]
mov edx, dword [0x205b7030]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x203d42b4
mov ecx, 0xac65a440
nop word [rax + rax]
movzx eax, byte [0x2059ddb4]
mov edx, dword [0x205b7030]
mov eax, edx
neg eax
mov r8d, eax
xor r8d, 0xafd5010c
and eax, 0x2fd5010c
lea r8d, [r8 + rax*2]
mov eax, 0xafd5010b
sub eax, r8d
imul eax, edx
mov r8d, dword [0x2059f3b8]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x203d4270
jmp 0x203d4243
add cl, 0x2e
cmp al, cl
je 0x203d434b
mov cl, 0xc4
nop word cs:[rax + rax]
mov al, 0x90
lock cmpxchg byte [0x2059ddb4], cl
je 0x203d42e2
cmp al, 0x82
jne 0x203d42d0
jmp 0x203d434b
xor eax, eax
lea rcx, [0x2059ddb0]
lea rdx, [0x20493a60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 3
jg 0x203d4318
inc rax
jmp 0x203d4300
cmp dword [0x205b387c], 0
jne 0x203d4341
movzx eax, byte [0x2059f3bc]
add al, 0x2e
xchg byte [0x2059ddb4], al
mov eax, dword [0x205b7030]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x203d434b
mov al, 0x82
xchg byte [0x2059ddb4], al
jmp 0x203d4321
lea rax, [0x2059ddb0]
pop rbx
pop rsi
ret
xor eax, eax
sub al, byte [0x2059f3bc]
mov ecx, eax
xor cl, 0x31
and al, 0x31
add al, al
add al, cl
neg al
xchg byte [0x2059ddca], al
mov al, 1
test al, al
jne 0x203d43a2
nop word cs:[rax + rax]
mov al, 0x23
xchg byte [0x2059ddca], al
mov eax, dword [0x205b7030]
mov ecx, dword [0x2059f3b8]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
jne 0x203d4380
jmp 0x203d4355
lea rax, [0x2059ddc0]
jmp 0x203d4352
movzx eax, byte [0x2059e4c0]
xor ecx, ecx
test cl, cl
je 0x203d43c1
movzx eax, byte [0x2059e4c0]
jmp 0x203d43ab
cmp al, 0x66
je 0x203d44a6
mov cl, 0xef
nop dword [rax + rax]
mov al, 0x81
lock cmpxchg byte [0x2059e4c0], cl
je 0x203d43e5
cmp al, 0x66
jne 0x203d43d0
jmp 0x203d44a6
xor eax, eax
lea rcx, [0x2059e4b0]
lea rdx, [0x20494110]
mov r8d, 0xcf6eb9b3
nop dword [rax + rax]
cdqe
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
mov r9d, dword [0x2059f3b8]
add r9d, r8d
mov r10d, r9d
xor r10d, 0xdcf6ea8c
and r9d, 0x5cf6ea8c
lea r9d, [r10 + r9*2]
add eax, r9d
cmp eax, 0x10
jl 0x203d4400
lea rax, [fcn.203d4060]
add eax, eax
add eax, 0x49c0
mov ecx, eax
xor ecx, 0xfffffffe
test eax, ecx
jne 0x203d4466
mov al, 0x66
xchg byte [0x2059e4c0], al
mov eax, dword [0x205b7034]
mov ecx, 0xac65a4a1
add ecx, dword [0x2059f3b8]
cmp eax, ecx
jl 0x203d44a6
movzx eax, byte [0x2059f3bc]
mov ecx, eax
not cl
mov edx, ecx
and dl, 0xed
mov r8d, eax
and r8b, 0x12
or r8b, dl
mov edx, r8d
xor r8b, al
xor al, 0xed
not dl
and dl, cl
and cl, 0x12
or al, cl
not al
or al, cl
or dl, r8b
not dl
add dl, dl
add dl, al
xchg byte [0x2059e4c0], dl
jmp 0x203d4449
lea rax, [0x2059e4b0]
jmp 0x203d4352