Function at 0x203fb700
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov eax, dword [0x205b86ac]
cmp eax, 0x26
jg 0x203fb712
mov al, 1
test al, al
jne 0x203fb751
mov eax, 0x27f7a550
lea r8, [fcn.203fb700]
add r8d, r8d
add r8d, 0x1d40
mov r9d, r8d
not r9d
nop
mov r10d, dword [0x205a5130]
add r10d, eax
mov r11d, r8d
xor r11d, r10d
xor r10d, r9d
and r10d, r9d
or r10d, r11d
cmp r10d, 0xffffffff
jne 0x203fb730
jmp 0x203fb70c
test ecx, ecx
je 0x203fb81a
test edx, edx
je 0x203fb8c1
movzx eax, byte [0x205a4193]
cmp al, 0xf6
je 0x203fb9a7
xor ecx, ecx
mov dl, 0x73
lea rax, [fcn.203fb700]
lea r8d, [rax + rax]
add r8d, 0x1dc0
nop word cs:[rax + rax]
test cl, cl
jne 0x203fb7c0
mov al, 0x1b
lock cmpxchg byte [0x205a4193], dl
sete r9b
cmp dword [0x205a5130], 0xd8085ab1
jne 0x203fb7c0
test r9b, r9b
jne 0x203fb957
cmp al, 0xf6
jne 0x203fb790
jmp 0x203fb9a7
movzx r9d, byte [0x205a5134]
lea eax, [r9 + 0x46]
add r9b, 0x9e
lock cmpxchg byte [0x205a4193], r9b
mov eax, dword [0x205a5130]
lea r9d, [rax + 0x27f7a550]
mov r10d, r9d
not r10d
mov r11d, r9d
xor r11d, r10d
and r11d, r8d
xor r11d, r10d
mov esi, r11d
not esi
xor r11d, r9d
and esi, r10d
or esi, r11d
not esi
add eax, 0x27f7a54f
cmp esi, eax
jne 0x203fb790
jmp 0x203fb794
test edx, edx
je 0x203fb8df
movzx eax, byte [0x205a3e45]
cmp al, 0x77
je 0x203fb9f2
mov cl, 0x30
mov edx, 0x27f7a54f
mov r8b, 1
nop dword [rax + rax]
mov eax, dword [0x205b86a8]
mov r9d, dword [0x205a5130]
neg r9d
add r9d, eax
add r9d, 0x27f7a550
imul r9d, eax
test r9b, 1
jne 0x203fb8b0
mov al, 0x97
lock cmpxchg byte [0x205a3e45], cl
sete r9b
mov r10d, dword [0x205b86a8]
lea r11d, [r10 - 1]
imul r11d, r10d
and r11d, 1
mov r10d, dword [0x205a5130]
add r10d, edx
cmp r11d, r10d
jne 0x203fb8b0
test r9b, r9b
jne 0x203fb9b0
cmp al, 0x77
jne 0x203fb840
jmp 0x203fb9f2
mov al, 0x97
lock cmpxchg byte [0x205a3e45], cl
test r8b, r8b
je 0x203fb840
jmp 0x203fb864
mov eax, dword [0x205b86ac]
mov ecx, 0x27f7a56f
add ecx, dword [0x205a5130]
cmp eax, ecx
jge 0x203fba80
jmp 0x203fba6b
movzx eax, byte [0x205a413e]
cmp al, 0x32
je 0x203fba62
xor ecx, ecx
test cl, cl
jne 0x203fb940
nop word cs:[rax + rax]
movzx edx, byte [0x205a5134]
lea eax, [rdx - 0x22]
add dl, 0xa
lock cmpxchg byte [0x205a413e], dl
sete dl
mov r8d, dword [0x205b86ac]
cmp r8d, 0x36
jg 0x203fb940
test dl, dl
jne 0x203fb9fb
cmp al, 0x32
jne 0x203fb8f0
jmp 0x203fba62
movzx edx, byte [0x205a5134]
lea eax, [rdx - 0x22]
add dl, 0xa
lock cmpxchg byte [0x205a413e], dl
jmp 0x203fb900
xor eax, eax
lea rcx, [0x205a4170]
lea rdx, [0x2049ac30]
nop word [rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x203fb99f
inc rax
jmp 0x203fb970
mov al, 0xf6
xchg byte [0x205a4193], al
lea rax, [0x205a4170]
pop rsi
ret
xor eax, eax
lea rcx, [0x205a3e40]
lea rdx, [0x2049a900]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 4
jg 0x203fb9d8
inc rax
jmp 0x203fb9c0
movzx eax, byte [0x205a5134]
add al, 0xbc
mov ecx, eax
xor cl, 0xe6
and al, 0x66
add al, al
add al, cl
xchg byte [0x205a3e45], al
lea rax, [0x205a3e40]
pop rsi
ret
xor eax, eax
lea rcx, [0x205a4130]
lea rdx, [0x2049abf0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x203fba28
inc rax
jmp 0x203fba10
mov eax, dword [0x205b86ac]
cmp eax, 0x43
jge 0x203fba40
mov al, 1
test al, al
jne 0x203fba53
nop dword [rax]
mov eax, dword [0x205b86a8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x203fba40
jmp 0x203fba33
movzx eax, byte [0x205a5134]
add al, 0x5d
xchg byte [0x205a413e], al
lea rax, [0x205a4130]
pop rsi
ret
movzx eax, byte [0x205a42fb]
mov ecx, dword [0x205b86ac]
cmp ecx, 0x41
jl 0x203fbab2
nop dword [rax]
movzx eax, byte [0x205a42fb]
mov eax, dword [0x205b86a8]
mov ecx, dword [0x205a5130]
lea edx, [rcx + rax]
imul edx, eax
and edx, 1
mov eax, ecx
xor eax, 0x27f7a54f
and ecx, 0x27f7a54f
lea eax, [rax + rcx*2]
cmp edx, eax
jne 0x203fba80
jmp 0x203fba6b
cmp al, 0x34
je 0x203fbbc0
mov cl, 0x19
mov edx, 0x27f7a57b
mov r8b, 1
jmp 0x203fbad8
cmp al, 0x34
je 0x203fbbc0
mov al, 0x92
lock cmpxchg byte [0x205a42fb], cl
je 0x203fbb17
mov r9d, dword [0x205b86ac]
mov r10d, dword [0x205a5130]
add r10d, edx
cmp r9d, r10d
jge 0x203fbb10
nop word [rax + rax]
test r8b, r8b
jne 0x203fbad0
nop word cs:[rax + rax]
test r8b, r8b
je 0x203fbb10
jmp 0x203fbb00
mov eax, dword [0x205b86ac]
cmp eax, 0x18
jg 0x203fbb28
mov al, 1
test al, al
jne 0x203fbb36
mov al, 1
nop word [rax + rax]
test al, al
je 0x203fbb30
jmp 0x203fbb22
xor eax, eax
lea rcx, [0x205a42f0]
lea rdx, [0x2049adb0]
nop word cs:[rax + rax]
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, 0xa
jg 0x203fbb78
inc rax
jmp 0x203fbb50
lea rax, [fcn.203fb700]
add eax, eax
add eax, 0x1640
mov ecx, eax
not ecx
nop word [rax + rax]
test ecx, eax
jne 0x203fbb90
mov eax, dword [0x205b86ac]
nop word [rax + rax]
cmp dword [0x205a5130], 0xd8085ab1
jne 0x203fbba0
mov al, 0x34
xchg byte [0x205a42fb], al
nop word cs:[rax + rax]
mov eax, dword [0x205b86a8]
mov ecx, dword [0x205a5130]
neg ecx
add ecx, eax
add ecx, 0x52420a48
imul ecx, eax
test cl, 1
jne 0x203fbbc0
lea rax, [0x205a42f0]
pop rsi
ret