Function at 0x203053f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
test ecx, ecx
je 0x20305463
test edx, edx
je 0x20305499
movzx eax, byte [0x204914b3]
cmp al, 0xff
je 0x20305530
mov cl, 0x7e
mov edx, 0x27f7a550
lea rax, [fcn.203053f0]
lea r8d, [rax + rax]
add r8d, 0x5e0
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x204914b3], cl
je 0x20305500
mov r9d, dword [0x20492770]
add r9d, edx
test r8d, r9d
mov r9d, dword [0x204a6a74]
cmp r9d, 0x26
jg 0x2030544d
cmp al, 0xff
jne 0x20305430
jmp 0x20305530
test edx, edx
je 0x203054e6
movzx eax, byte [0x20491791]
cmp al, 0x22
je 0x20305619
mov cl, 0xc
nop dword [rax + rax]
mov al, 0x7f
lock cmpxchg byte [0x20491791], cl
je 0x20305544
cmp al, 0x22
jne 0x20305480
jmp 0x20305619
movzx eax, byte [0x20491c98]
cmp al, 0xc4
je 0x2030574b
mov cl, 0xb5
nop word [rax + rax]
mov al, 8
lock cmpxchg byte [0x20491c98], cl
je 0x20305625
mov edx, dword [0x204a6a70]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
mov edx, dword [0x204a6a74]
cmp edx, 0x3f
jg 0x203054d2
cmp al, 0xc4
jne 0x203054b0
jmp 0x2030574b
mov eax, dword [0x204a6a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x20305791
jmp 0x20305757
xor eax, eax
lea rcx, [0x204914a0]
lea rdx, [0x203a2280]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x12
jg 0x20305528
inc rax
jmp 0x20305510
mov al, 0xff
xchg byte [0x204914b3], al
mov eax, dword [0x204a6a74]
cmp eax, 0x60
jle 0x2030584e
jmp 0x20305859
xor r8d, r8d
lea r9, [0x20491780]
lea r10, [0x203a2560]
mov r11d, 0x27f7a550
xor esi, esi
xor edi, edi
test r8b, r8b
jne 0x20305596
nop word cs:[rax + rax]
movzx eax, byte [rdi + r10]
add byte [rdi + r9], al
mov eax, dword [0x204a6a70]
mov ecx, dword [0x20492770]
add ecx, r11d
not ecx
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
je 0x203055d0
movzx eax, byte [rdi + r9]
movzx ecx, byte [rdi + r10]
sub al, cl
mul cl
mov edx, eax
sub cl, al
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
sub al, dl
mul dl
add al, dl
mov byte [rdi + r9], al
jmp 0x20305570
lea eax, [rdi + 1]
cmp eax, 0x10
jg 0x203055f0
inc rdi
dec esi
test r8b, r8b
jne 0x20305596
jmp 0x20305570
mov eax, dword [0x204a6a74]
cmp eax, 0x2d
jle 0x20305606
mov eax, dword [0x204a6a74]
cmp eax, 0x62
jge 0x203055f0
mov eax, dword [0x204a6a74]
cmp eax, 0x14
jg 0x203055fb
mov al, 0x22
xchg byte [0x20491791], al
lea rax, [0x20491780]
jmp 0x2030584b
mov ecx, 0x27f7a551
lea rax, [fcn.203053f0]
add eax, eax
add eax, 0x1660
mov r8d, eax
not r8d
and r8d, eax
mov r9d, 0x27f7a54f
nop word [rax + rax]
mov edx, dword [0x204a6a70]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x20492770]
add r10d, ecx
xor edx, edx
div r10d
test edx, edx
jne 0x2030567d
mov eax, dword [0x20492770]
add eax, r9d
cmp r8d, eax
je 0x2030569b
mov eax, dword [0x204a6a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x20492770]
add eax, r9d
cmp edx, eax
jne 0x20305650
jmp 0x2030566f
xor edx, edx
lea rax, [0x20491c90]
lea rcx, [0x203a2a70]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x20492770]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 8
jl 0x203056b0
mov eax, dword [0x204a6a70]
nop word [rax + rax]
mov eax, dword [0x204a6a70]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x203056e0
mov al, 1
nop word cs:[rax + rax]
mov ecx, dword [0x204a6a70]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x20305730
movzx ecx, byte [0x20492774]
mov edx, ecx
xor dl, 0x10
and dl, cl
xor cl, 0xef
add dl, dl
add dl, cl
xchg byte [0x20491c98], dl
test al, al
je 0x20305700
movzx ecx, byte [0x20492774]
add cl, 0xef
xchg byte [0x20491c98], cl
mov ecx, dword [0x204a6a74]
cmp ecx, 0x1a
jg 0x20305711
lea rax, [0x20491c90]
jmp 0x2030584b
movzx eax, byte [0x20491b19]
lea rcx, [fcn.203053f0]
add ecx, ecx
add ecx, 0x4a60
mov edx, ecx
not edx
and edx, ecx
mov ecx, dword [0x20492770]
mov r8d, ecx
xor r8d, 0x27f7a54f
and ecx, 0x27f7a54f
lea ecx, [r8 + rcx*2]
cmp edx, ecx
je 0x2030579a
movzx eax, byte [0x20491b19]
jmp 0x20305757
cmp al, 0x42
je 0x20305844
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x20491b19], cl
je 0x203057c5
cmp al, 0x42
jne 0x203057b0
jmp 0x20305844
xor eax, eax
lea rcx, [0x20491b10]
lea rdx, [0x203a28f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x203057f8
inc rax
jmp 0x203057e0
mov ecx, 0x27f7a551
mov r8b, 1
mov eax, dword [0x204a6a74]
cmp eax, 0x33
jle 0x2030581d
nop dword [rax + rax]
mov al, 0x42
xchg byte [0x20491b19], al
test r8b, r8b
je 0x20305800
mov al, 0x42
xchg byte [0x20491b19], al
mov edx, dword [0x204a6a70]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x20492770]
add r9d, ecx
xor edx, edx
div r9d
test edx, edx
jne 0x20305810
lea rax, [0x20491b10]
pop rdi
pop rsi
ret
mov eax, dword [0x204a6a74]
cmp eax, 0x22
jl 0x20305876
lea rax, [fcn.203053f0]
add eax, eax
add eax, 0x4c40
mov ecx, eax
not ecx
nop dword [rax + rax]
test ecx, eax
jne 0x20305870
jmp 0x2030584e
lea rax, [0x204914a0]
jmp 0x2030584b