Function at 0x203d3960
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, 0xac65a43e
add eax, dword [0x2059f3b8]
cmp ecx, eax
jne 0x203d3a12
test edx, edx
je 0x203d3a69
movzx eax, byte [0x2059e3e5]
cmp al, 0x4a
je 0x203d3bf0
mov cl, 0x52
lea rdx, [fcn.203d3960]
lea r8d, [rdx + rdx]
add r8d, 0x36e0
mov r9d, r8d
not r9d
mov r10d, 0xac65a43f
mov r11b, 1
jmp 0x203d39d2
movzx ebx, byte [0x2059f3bc]
add bl, 0xf6
cmp al, bl
je 0x203d3bf0
mov al, 0xc6
lock cmpxchg byte [0x2059e3e5], cl
je 0x203d3b81
nop word cs:[rax + rax]
test r9d, r8d
jne 0x203d3a0b
mov esi, dword [0x2059f3b8]
add esi, r10d
lea edi, [rdx + rdx]
add edi, 0x200
test edi, esi
je 0x203d39c0
test r11b, r11b
je 0x203d39f0
jmp 0x203d39f5
xor eax, eax
mov cl, 1
nop word cs:[rax + rax]
test al, al
jne 0x203d3a28
test al, al
je 0x203d3a2e
test cl, cl
je 0x203d3a20
jmp 0x203d3a24
test edx, edx
je 0x203d3a99
movzx eax, byte [0x2059e622]
movzx ecx, byte [0x2059f3bc]
add cl, 0xae
cmp al, cl
je 0x203d3c04
mov cl, 5
nop dword [rax]
mov al, 0x67
lock cmpxchg byte [0x2059e622], cl
je 0x203d3bb8
cmp al, 2
jne 0x203d3a50
jmp 0x203d3c04
movzx eax, byte [0x2059dd64]
cmp al, 0xc2
je 0x203d3d07
mov cl, 0x80
nop word [rax + rax]
mov al, 0x75
lock cmpxchg byte [0x2059dd64], cl
je 0x203d3c10
cmp al, 0xc2
jne 0x203d3a80
jmp 0x203d3d07
movzx eax, byte [0x2059e3a7]
cmp al, 0x43
je 0x203d3d45
xor r8d, r8d
mov r9b, 0x74
mov r10d, 0xac65a43e
jmp 0x203d3ac9
cmp cl, 0x43
je 0x203d3d45
test r8b, r8b
jne 0x203d3b10
mov al, 0x99
lock cmpxchg byte [0x2059e3a7], r9b
mov ecx, eax
sete al
mov edx, dword [0x205b7030]
lea r11d, [rdx - 1]
imul r11d, edx
and r11d, 1
mov edx, dword [0x2059f3b8]
add edx, r10d
cmp r11d, edx
jne 0x203d3b10
test al, al
jne 0x203d3c48
test r8b, r8b
jne 0x203d3b50
jmp 0x203d3b30
mov al, 0x99
lock cmpxchg byte [0x2059e3a7], r9b
mov eax, dword [0x205b7034]
cmp eax, 0x28
jge 0x203d3ac9
jmp 0x203d3ace
mov eax, dword [0x205b7030]
lea edx, [rax + 1]
imul edx, eax
and edx, 1
mov eax, dword [0x2059f3b8]
add eax, r10d
cmp edx, eax
je 0x203d3ac0
mov edx, dword [0x205b7030]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x2059f3b8]
mov r11d, edx
xor r11d, 0xac65a440
and edx, 0x2c65a440
lea r11d, [r11 + rdx*2]
xor edx, edx
div r11d
test edx, edx
jne 0x203d3b50
jmp 0x203d3b30
xor eax, eax
lea rcx, [0x2059e3e0]
lea rdx, [0x20494050]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 4
jg 0x203d3be8
inc rax
jmp 0x203d3ba0
xor eax, eax
lea rcx, [0x2059e620]
lea rdx, [0x20494260]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 1
jg 0x203d3bfc
inc rax
jmp 0x203d3bd0
mov al, 0x4a
xchg byte [0x2059e3e5], al
lea rax, [0x2059e3e0]
jmp 0x203d3d0e
mov al, 2
xchg byte [0x2059e622], al
lea rax, [0x2059e620]
jmp 0x203d3d0e
xor eax, eax
lea rcx, [0x2059dd60]
lea rdx, [0x20493a10]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 3
jg 0x203d3cb0
inc rax
jmp 0x203d3c20
mov eax, dword [0x205b7030]
xor eax, eax
test al, al
jne 0x203d3c50
xor eax, eax
lea rcx, [0x2059e3a0]
lea rdx, [0x20494010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
not r10b
mov r11d, r10d
xor r11b, r9b
not r9b
mov ebx, r8d
and bl, r9b
or bl, r11b
not bl
xor r9b, r10b
and r9b, r8b
or r9b, bl
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x203d3cc7
inc rax
jmp 0x203d3c70
mov eax, dword [0x205b7034]
mov ecx, 0xac65a453
add ecx, dword [0x2059f3b8]
cmp eax, ecx
jl 0x203d3cd4
jmp 0x203d3cfd
mov eax, dword [0x205b7034]
cmp eax, 0x5f
jge 0x203d3d30
jmp 0x203d3d12
movzx eax, byte [0x2059f3bc]
mov ecx, eax
xor cl, 0x6e
and al, 0x6e
add al, al
add al, cl
xchg byte [0x2059dd64], al
mov eax, dword [0x205b7030]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x203d3d07
mov al, 0xc2
xchg byte [0x2059dd64], al
jmp 0x203d3cd4
lea rax, [0x2059dd60]
pop rbx
pop rdi
pop rsi
ret
mov al, 0x43
xchg byte [0x2059e3a7], al
mov eax, dword [0x205b7034]
cmp eax, 0x56
jl 0x203d3d45
nop word cs:[rax + rax]
mov al, 0x43
xchg byte [0x2059e3a7], al
mov eax, dword [0x205b7034]
cmp eax, 0x43
jge 0x203d3d30
jmp 0x203d3d12
lea rax, [0x2059e3a0]
jmp 0x203d3d0e