Function at 0x20306790
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov eax, dword [0x204a6a74]
cmp eax, 0x33
jg 0x203067f0
mov eax, dword [0x20492770]
mov r8d, eax
xor r8d, 0x27f7a550
and eax, 0x27f7a550
add eax, eax
mov r9d, r8d
xor r9d, eax
and eax, r8d
lea eax, [r9 + rax*2]
lea r8, [fcn.20306790]
add r8d, r8d
add r8d, 0x340
mov r9d, r8d
not r9d
mov r10d, r9d
and r10d, eax
not eax
and r8d, eax
or r8d, r10d
and eax, r9d
or eax, r8d
cmp eax, 0xffffffff
je 0x20306806
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x20306800
jmp 0x2030679c
test ecx, ecx
je 0x20306839
test edx, edx
je 0x20306869
movzx eax, byte [0x204915d7]
cmp al, 0x29
je 0x20306a98
mov cl, 0x59
nop
mov al, 0x97
lock cmpxchg byte [0x204915d7], cl
je 0x203068e4
cmp al, 0x29
jne 0x20306820
jmp 0x20306a98
test edx, edx
je 0x20306899
movzx eax, byte [0x20491a81]
cmp al, 0x92
je 0x2030697c
mov cl, 0xab
nop
mov al, 0x5e
lock cmpxchg byte [0x20491a81], cl
je 0x2030692e
cmp al, 0x92
jne 0x20306850
jmp 0x2030697c
movzx eax, byte [0x204914c7]
cmp al, 0xe
je 0x203069c0
mov cl, 0x35
nop word [rax + rax]
mov al, 0x21
lock cmpxchg byte [0x204914c7], cl
je 0x20306985
cmp al, 0xe
jne 0x20306880
jmp 0x203069c0
movzx eax, byte [0x204913fd]
movzx ecx, byte [0x20492774]
add cl, 0xec
cmp al, cl
je 0x20306a8f
nop word cs:[rax + rax]
movzx ecx, byte [0x20492774]
lea eax, [rcx - 0x5f]
add cl, 9
lock cmpxchg byte [0x204913fd], cl
je 0x203069c9
cmp al, 0xc1
jne 0x203068c0
jmp 0x20306a8f
xor edx, edx
lea rax, [0x204915a0]
lea rcx, [0x203a2380]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x37
jl 0x20306900
mov al, 1
test al, al
je 0x20306ac9
jmp 0x20306aa1
xor edx, edx
lea rax, [0x20491a70]
lea rcx, [0x203a2850]
nop
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x20492770]
add edx, r8d
add edx, 0x27f7a550
cmp edx, 0x11
jl 0x20306940
mov eax, dword [0x204a6a70]
xor eax, eax
nop dword [rax]
test al, al
jne 0x20306970
mov al, 0x92
xchg byte [0x20491a81], al
lea rax, [0x20491a70]
pop rsi
ret
xor eax, eax
lea rcx, [0x204914c0]
lea rdx, [0x203a22a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 6
jg 0x203069b8
inc rax
jmp 0x203069a0
mov al, 0xe
xchg byte [0x204914c7], al
lea rax, [0x204914c0]
pop rsi
ret
xor r8d, r8d
lea r9, [0x204913e0]
lea r10, [0x203a21d0]
mov r11d, 0x27f7a56c
jmp 0x20306a07
mov ecx, r8d
xor ecx, 1
and r8d, 1
lea r8d, [rcx + r8*2]
cmp r8d, eax
jge 0x20306a87
mov eax, dword [0x204a6a70]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x20306a40
nop dword [rax + rax]
movzx eax, byte [rsi + r10]
add byte [rsi + r9], al
mov eax, dword [0x20492770]
add eax, r11d
mov ecx, dword [0x204a6a74]
cmp ecx, 0x31
jl 0x203069f0
nop dword [rax]
movzx eax, byte [rsi + r9]
movzx edx, byte [rsi + r10]
sub al, dl
mul dl
sub al, dl
mul dl
mov ecx, eax
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov ecx, edx
shl al, cl
add al, dl
mov byte [rsi + r9], al
mov eax, dword [0x20492770]
mov ecx, eax
xor ecx, 0x58085ab0
and ecx, eax
xor eax, 0x27f7a54f
add ecx, ecx
add ecx, eax
jne 0x20306a40
jmp 0x20306a20
mov al, 0xc1
xchg byte [0x204913fd], al
lea rax, [0x204913e0]
pop rsi
ret
lea rax, [0x204915a0]
pop rsi
ret
mov ecx, dword [0x204a6a70]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x20492770]
lea r8d, [rcx + 0x27f7a551]
xor edx, edx
div r8d
add ecx, 0x27f7a54f
cmp edx, ecx
je 0x20306b03
lea rax, [fcn.20306790]
add eax, eax
add eax, 0x1460
nop word [rax + rax]
mov ecx, dword [0x20492770]
mov edx, ecx
xor edx, 0xdf0730ab
and ecx, 0x5f0730ab
lea ecx, [rdx + rcx*2]
add ecx, 0x48f074a5
test eax, ecx
jne 0x20306ae0
jmp 0x20306aa1
mov eax, dword [0x204a6a74]
mov ecx, 0x27f7a587
add ecx, dword [0x20492770]
cmp eax, ecx
jge 0x20306b47
mov al, 0x29
xchg byte [0x204915d7], al
mov eax, dword [0x204a6a74]
mov ecx, dword [0x20492770]
mov edx, ecx
xor edx, 0x58085aa2
and edx, ecx
xor ecx, 0x27f7a55d
lea ecx, [rcx + rdx*2]
cmp eax, ecx
jl 0x20306a98
mov eax, 0x27f7a54f
nop dword [rax]
mov cl, 0x29
xchg byte [0x204915d7], cl
mov ecx, dword [0x204a6a70]
lea edx, [rcx + 0x240ff380]
not edx
add edx, 0x240ff380
imul edx, ecx
and edx, 1
mov ecx, dword [0x20492770]
add ecx, eax
cmp edx, ecx
jne 0x20306b50
jmp 0x20306b18