Function at 0x20300e10
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov eax, dword [0x204a6a74]
cmp eax, 0x26
jg 0x20300e22
mov al, 1
test al, al
jne 0x20300e61
mov eax, 0x27f7a550
lea r8, [fcn.20300e10]
add r8d, r8d
add r8d, 0x1d40
mov r9d, r8d
not r9d
nop
mov r10d, dword [0x20492770]
add r10d, eax
mov r11d, r8d
xor r11d, r10d
xor r10d, r9d
and r10d, r9d
or r10d, r11d
cmp r10d, 0xffffffff
jne 0x20300e40
jmp 0x20300e1c
test ecx, ecx
je 0x20300f2a
test edx, edx
je 0x20300fd1
movzx eax, byte [0x204917d3]
cmp al, 0xf6
je 0x203010b7
xor ecx, ecx
mov dl, 0x73
lea rax, [fcn.20300e10]
lea r8d, [rax + rax]
add r8d, 0x1dc0
nop word cs:[rax + rax]
test cl, cl
jne 0x20300ed0
mov al, 0x1b
lock cmpxchg byte [0x204917d3], dl
sete r9b
cmp dword [0x20492770], 0xd8085ab1
jne 0x20300ed0
test r9b, r9b
jne 0x20301067
cmp al, 0xf6
jne 0x20300ea0
jmp 0x203010b7
movzx r9d, byte [0x20492774]
lea eax, [r9 + 0x46]
add r9b, 0x9e
lock cmpxchg byte [0x204917d3], r9b
mov eax, dword [0x20492770]
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 0x20300ea0
jmp 0x20300ea4
test edx, edx
je 0x20300fef
movzx eax, byte [0x20491485]
cmp al, 0x77
je 0x20301102
mov cl, 0x30
mov edx, 0x27f7a54f
mov r8b, 1
nop dword [rax + rax]
mov eax, dword [0x204a6a70]
mov r9d, dword [0x20492770]
neg r9d
add r9d, eax
add r9d, 0x27f7a550
imul r9d, eax
test r9b, 1
jne 0x20300fc0
mov al, 0x97
lock cmpxchg byte [0x20491485], cl
sete r9b
mov r10d, dword [0x204a6a70]
lea r11d, [r10 - 1]
imul r11d, r10d
and r11d, 1
mov r10d, dword [0x20492770]
add r10d, edx
cmp r11d, r10d
jne 0x20300fc0
test r9b, r9b
jne 0x203010c0
cmp al, 0x77
jne 0x20300f50
jmp 0x20301102
mov al, 0x97
lock cmpxchg byte [0x20491485], cl
test r8b, r8b
je 0x20300f50
jmp 0x20300f74
mov eax, dword [0x204a6a74]
mov ecx, 0x27f7a56f
add ecx, dword [0x20492770]
cmp eax, ecx
jge 0x20301190
jmp 0x2030117b
movzx eax, byte [0x2049177e]
cmp al, 0x32
je 0x20301172
xor ecx, ecx
test cl, cl
jne 0x20301050
nop word cs:[rax + rax]
movzx edx, byte [0x20492774]
lea eax, [rdx - 0x22]
add dl, 0xa
lock cmpxchg byte [0x2049177e], dl
sete dl
mov r8d, dword [0x204a6a74]
cmp r8d, 0x36
jg 0x20301050
test dl, dl
jne 0x2030110b
cmp al, 0x32
jne 0x20301000
jmp 0x20301172
movzx edx, byte [0x20492774]
lea eax, [rdx - 0x22]
add dl, 0xa
lock cmpxchg byte [0x2049177e], dl
jmp 0x20301010
xor eax, eax
lea rcx, [0x204917b0]
lea rdx, [0x203a2590]
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 0x203010af
inc rax
jmp 0x20301080
mov al, 0xf6
xchg byte [0x204917d3], al
lea rax, [0x204917b0]
pop rsi
ret
xor eax, eax
lea rcx, [0x20491480]
lea rdx, [0x203a2260]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 4
jg 0x203010e8
inc rax
jmp 0x203010d0
movzx eax, byte [0x20492774]
add al, 0xbc
mov ecx, eax
xor cl, 0xe6
and al, 0x66
add al, al
add al, cl
xchg byte [0x20491485], al
lea rax, [0x20491480]
pop rsi
ret
xor eax, eax
lea rcx, [0x20491770]
lea rdx, [0x203a2550]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xd
jg 0x20301138
inc rax
jmp 0x20301120
mov eax, dword [0x204a6a74]
cmp eax, 0x43
jge 0x20301150
mov al, 1
test al, al
jne 0x20301163
nop dword [rax]
mov eax, dword [0x204a6a70]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x20301150
jmp 0x20301143
movzx eax, byte [0x20492774]
add al, 0x5d
xchg byte [0x2049177e], al
lea rax, [0x20491770]
pop rsi
ret
movzx eax, byte [0x2049193b]
mov ecx, dword [0x204a6a74]
cmp ecx, 0x41
jl 0x203011c2
nop dword [rax]
movzx eax, byte [0x2049193b]
mov eax, dword [0x204a6a70]
mov ecx, dword [0x20492770]
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 0x20301190
jmp 0x2030117b
cmp al, 0x34
je 0x203012d0
mov cl, 0x19
mov edx, 0x27f7a57b
mov r8b, 1
jmp 0x203011e8
cmp al, 0x34
je 0x203012d0
mov al, 0x92
lock cmpxchg byte [0x2049193b], cl
je 0x20301227
mov r9d, dword [0x204a6a74]
mov r10d, dword [0x20492770]
add r10d, edx
cmp r9d, r10d
jge 0x20301220
nop word [rax + rax]
test r8b, r8b
jne 0x203011e0
nop word cs:[rax + rax]
test r8b, r8b
je 0x20301220
jmp 0x20301210
mov eax, dword [0x204a6a74]
cmp eax, 0x18
jg 0x20301238
mov al, 1
test al, al
jne 0x20301246
mov al, 1
nop word [rax + rax]
test al, al
je 0x20301240
jmp 0x20301232
xor eax, eax
lea rcx, [0x20491930]
lea rdx, [0x203a2710]
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 0x20301288
inc rax
jmp 0x20301260
lea rax, [fcn.20300e10]
add eax, eax
add eax, 0x1640
mov ecx, eax
not ecx
nop word [rax + rax]
test ecx, eax
jne 0x203012a0
mov eax, dword [0x204a6a74]
nop word [rax + rax]
cmp dword [0x20492770], 0xd8085ab1
jne 0x203012b0
mov al, 0x34
xchg byte [0x2049193b], al
nop word cs:[rax + rax]
mov eax, dword [0x204a6a70]
mov ecx, dword [0x20492770]
neg ecx
add ecx, eax
add ecx, 0x52420a48
imul ecx, eax
test cl, 1
jne 0x203012d0
lea rax, [0x20491930]
pop rsi
ret