Function at 0x20243710
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2024375c
test edx, edx
je 0x202437ac
test r8d, r8d
je 0x202437ec
movzx eax, byte [0x20474a66]
cmp al, 0x8e
je 0x20243754
mov cl, 0xd5
nop word cs:[rax + rax]
mov al, 0x77
lock cmpxchg byte [0x20474a66], cl
je 0x202438cc
cmp al, 0x8e
jne 0x20243740
lea rax, [0x20474a40]
ret
test edx, edx
je 0x2024381c
test r8d, r8d
je 0x20243859
test r9d, r9d
je 0x20243901
movzx eax, byte [0x20474a72]
cmp al, 0xe9
je 0x202437a4
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0xbe
lock cmpxchg byte [0x20474a72], cl
je 0x20243a49
cmp al, 0xe9
jne 0x20243790
lea rax, [0x20474a70]
ret
test r8d, r8d
je 0x20243899
test r9d, r9d
je 0x20243939
movzx eax, byte [0x204749d5]
cmp al, 0x12
je 0x202437e4
mov cl, 0x26
nop dword [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x204749d5], cl
je 0x20243a81
cmp al, 0x12
jne 0x202437d0
lea rax, [0x204749d0]
ret
movzx eax, byte [0x204749a0]
cmp al, 0x5a
je 0x20243814
mov cl, 0x27
nop dword [rax]
mov al, 0x14
lock cmpxchg byte [0x204749a0], cl
je 0x202439a9
cmp al, 0x5a
jne 0x20243800
lea rax, [0x204748a0]
ret
test r8d, r8d
je 0x20243969
test r9d, r9d
je 0x202439e3
movzx eax, byte [0x2047489e]
cmp al, 0xd9
je 0x20243b59
mov cl, 0x62
nop
mov al, 0x5f
lock cmpxchg byte [0x2047489e], cl
je 0x20243b2b
cmp al, 0xd9
jne 0x20243840
jmp 0x20243b59
test r9d, r9d
je 0x20243a19
movzx eax, byte [0x20474a3f]
cmp al, 7
je 0x20243b99
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0x49
lock cmpxchg byte [0x20474a3f], cl
je 0x20243b61
cmp al, 7
jne 0x20243880
jmp 0x20243b99
movzx eax, byte [0x20474a13]
cmp al, 0xd5
je 0x202438c4
mov cl, 0x5a
nop word cs:[rax + rax]
mov al, 0x93
lock cmpxchg byte [0x20474a13], cl
je 0x20243ac1
cmp al, 0xd5
jne 0x202438b0
lea rax, [0x204749f0]
ret
xor eax, eax
lea rcx, [0x20474a40]
lea rdx, [0x203873d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x202438e0
mov al, 0x8e
xchg byte [0x20474a66], al
lea rax, [0x20474a40]
ret
movzx eax, byte [0x20474a9b]
cmp al, 0x51
je 0x20243bd9
mov cl, 0xcb
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x20474a9b], cl
je 0x20243ba1
cmp al, 0x51
jne 0x20243920
jmp 0x20243bd9
movzx eax, byte [0x20474870]
cmp al, 0x96
je 0x20243c1b
mov cl, 0x18
nop word [rax + rax]
mov al, 0x36
lock cmpxchg byte [0x20474870], cl
je 0x20243be1
cmp al, 0x96
jne 0x20243950
jmp 0x20243c1b
test r9d, r9d
je 0x20243b01
movzx eax, byte [0x20474a82]
cmp al, 0x41
je 0x20243c59
mov cl, 0xbf
nop word cs:[rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x20474a82], cl
je 0x20243c23
cmp al, 0x41
jne 0x20243990
jmp 0x20243c59
xor eax, eax
lea rcx, [0x204748a0]
lea rdx, [0x20387240]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x100
jl 0x202439c0
mov al, 0x5a
xchg byte [0x204749a0], al
lea rax, [0x204748a0]
ret
movzx eax, byte [0x204749cc]
cmp al, 0x40
je 0x20243c99
mov cl, 0xbe
nop word cs:[rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x204749cc], cl
je 0x20243c61
cmp al, 0x40
jne 0x20243a00
jmp 0x20243c99
movzx eax, byte [0x20474a2b]
cmp al, 0xde
je 0x20243cd9
mov cl, 0x59
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x20474a2b], cl
je 0x20243ca1
cmp al, 0xde
jne 0x20243a30
jmp 0x20243cd9
xor eax, eax
lea rcx, [0x20474a70]
lea rdx, [0x20387400]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20243a60
mov al, 0xe9
xchg byte [0x20474a72], al
lea rax, [0x20474a70]
ret
xor eax, eax
lea rcx, [0x204749d0]
lea rdx, [0x20387360]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20243aa0
mov al, 0x12
xchg byte [0x204749d5], al
lea rax, [0x204749d0]
ret
xor eax, eax
lea rcx, [0x204749f0]
lea rdx, [0x20387380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20243ae0
mov al, 0xd5
xchg byte [0x20474a13], al
lea rax, [0x204749f0]
ret
movzx eax, byte [0x204749e3]
cmp al, 0x77
je 0x20243d0a
mov cl, 0x6d
mov al, 0x6a
lock cmpxchg byte [0x204749e3], cl
je 0x20243ce1
cmp al, 0x77
jne 0x20243b12
jmp 0x20243d0a
xor eax, eax
lea rcx, [0x20474880]
lea rdx, [0x20387220]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1e
jl 0x20243b40
mov al, 0xd9
xchg byte [0x2047489e], al
lea rax, [0x20474880]
ret
xor eax, eax
lea rcx, [0x20474a30]
lea rdx, [0x203873c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20243b80
mov al, 7
xchg byte [0x20474a3f], al
lea rax, [0x20474a30]
ret
xor eax, eax
lea rcx, [0x20474a90]
lea rdx, [0x20387420]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20243bc0
mov al, 0x51
xchg byte [0x20474a9b], al
lea rax, [0x20474a90]
ret
xor eax, eax
lea rcx, [0x20474770]
lea rdx, [0x20387120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x100
jl 0x20243c00
mov al, 0x96
xchg byte [0x20474870], al
lea rax, [0x20474770]
ret
xor eax, eax
lea rcx, [0x20474a80]
lea rdx, [0x20387410]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20243c40
mov al, 0x41
xchg byte [0x20474a82], al
lea rax, [0x20474a80]
ret
xor eax, eax
lea rcx, [0x204749b0]
lea rdx, [0x20387340]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20243c80
mov al, 0x40
xchg byte [0x204749cc], al
lea rax, [0x204749b0]
ret
xor eax, eax
lea rcx, [0x20474a20]
lea rdx, [0x203873b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20243cc0
mov al, 0xde
xchg byte [0x20474a2b], al
lea rax, [0x20474a20]
ret
xor eax, eax
lea rcx, [0x204749e0]
lea rdx, [0x20387370]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20243cf1
mov al, 0x77
xchg byte [0x204749e3], al
lea rax, [0x204749e0]
ret