Function at 0x20255c20
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20255c6c
test edx, edx
je 0x20255cac
test r8d, r8d
je 0x20255cec
test r9d, r9d
je 0x20255d59
movzx eax, byte [0x20475f10]
cmp al, 0x1f
je 0x20255c64
mov cl, 0x7b
nop dword [rax + rax]
mov al, 0xb7
lock cmpxchg byte [0x20475f10], cl
je 0x20255e69
cmp al, 0x1f
jne 0x20255c50
lea rax, [0x20475e10]
ret
test edx, edx
je 0x20255d1c
test r8d, r8d
je 0x20255d8c
movzx eax, byte [0x20475ff6]
cmp al, 0x56
je 0x20255ca4
mov cl, 0x20
nop word [rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x20475ff6], cl
je 0x20255ea3
cmp al, 0x56
jne 0x20255c90
lea rax, [0x20475fd0]
ret
test r8d, r8d
je 0x20255dbc
test r9d, r9d
je 0x20255df9
movzx eax, byte [0x20475f33]
cmp al, 0xd8
je 0x20255ce4
mov cl, 0x57
nop dword [rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x20475f33], cl
je 0x20255f89
cmp al, 0xd8
jne 0x20255cd0
lea rax, [0x20475f20]
ret
movzx eax, byte [0x20475e00]
cmp al, 0x7f
je 0x20255d14
mov cl, 0x24
nop dword [rax]
mov al, 0xde
lock cmpxchg byte [0x20475e00], cl
je 0x20255ee1
cmp al, 0x7f
jne 0x20255d00
lea rax, [0x20475c00]
ret
test r8d, r8d
je 0x20255e29
test r9d, r9d
je 0x20255f23
movzx eax, byte [0x20475f65]
cmp al, 0xe0
je 0x20256099
mov cl, 0xa
nop
mov al, 0x39
lock cmpxchg byte [0x20475f65], cl
je 0x2025606b
cmp al, 0xe0
jne 0x20255d40
jmp 0x20256099
movzx eax, byte [0x204a3dfc]
cmp al, 0x55
je 0x20255d84
mov cl, 0x99
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x204a3dfc], cl
je 0x20255fc1
cmp al, 0x55
jne 0x20255d70
lea rax, [0x20475fb0]
ret
movzx eax, byte [0x20476012]
cmp al, 0x57
je 0x20255db4
mov cl, 0x98
nop dword [rax]
mov al, 0x9a
lock cmpxchg byte [0x20476012], cl
je 0x20256001
cmp al, 0x57
jne 0x20255da0
lea rax, [0x20476010]
ret
test r9d, r9d
je 0x20255f59
movzx eax, byte [0x20475f73]
cmp al, 0x2b
je 0x202560d9
mov cl, 0x4a
nop word cs:[rax + rax]
mov al, 0x35
lock cmpxchg byte [0x20475f73], cl
je 0x202560a1
cmp al, 0x2b
jne 0x20255de0
jmp 0x202560d9
movzx eax, byte [0x20475f5c]
cmp al, 0xfa
je 0x20256119
mov cl, 0x3a
nop word [rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x20475f5c], cl
je 0x202560e1
cmp al, 0xfa
jne 0x20255e10
jmp 0x20256119
test r9d, r9d
je 0x20256041
movzx eax, byte [0x20475fa3]
cmp al, 0x6b
je 0x20256159
mov cl, 5
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x20475fa3], cl
je 0x20256121
cmp al, 0x6b
jne 0x20255e50
jmp 0x20256159
xor eax, eax
lea rcx, [0x20475e10]
lea rdx, [0x20389430]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x100
jl 0x20255e80
mov al, 0x1f
xchg byte [0x20475f10], al
lea rax, [0x20475e10]
ret
xor eax, eax
lea rcx, [0x20475fd0]
lea rdx, [0x203895e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20255ec0
mov al, 0x56
xchg byte [0x20475ff6], al
lea rax, [0x20475fd0]
ret
xor eax, eax
lea rcx, [0x20475c00]
lea rdx, [0x20389230]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x200
jl 0x20255f00
mov al, 0x7f
xchg byte [0x20475e00], al
lea rax, [0x20475c00]
ret
movzx eax, byte [0x20475fcf]
cmp al, 0xb4
je 0x20256199
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x20475fcf], cl
je 0x20256161
cmp al, 0xb4
jne 0x20255f40
jmp 0x20256199
movzx eax, byte [0x2047602b]
cmp al, 0xa4
je 0x202561d9
mov cl, 0x98
nop word [rax + rax]
mov al, 0x36
lock cmpxchg byte [0x2047602b], cl
je 0x202561a1
cmp al, 0xa4
jne 0x20255f70
jmp 0x202561d9
xor eax, eax
lea rcx, [0x20475f20]
lea rdx, [0x20389530]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x20255fa0
mov al, 0xd8
xchg byte [0x20475f33], al
lea rax, [0x20475f20]
ret
xor eax, eax
lea rcx, [0x20475fb0]
lea rdx, [0x203895c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20255fe0
mov al, 0x55
xchg byte [0x204a3dfc], al
lea rax, [0x20475fb0]
ret
xor eax, eax
lea rcx, [0x20476010]
lea rdx, [0x20389620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20256020
mov al, 0x57
xchg byte [0x20476012], al
lea rax, [0x20476010]
ret
movzx eax, byte [0x20476002]
cmp al, 0x96
je 0x2025620a
mov cl, 0xe8
mov al, 2
lock cmpxchg byte [0x20476002], cl
je 0x202561e1
cmp al, 0x96
jne 0x20256052
jmp 0x2025620a
xor eax, eax
lea rcx, [0x20475f60]
lea rdx, [0x20389570]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20256080
mov al, 0xe0
xchg byte [0x20475f65], al
lea rax, [0x20475f60]
ret
xor eax, eax
lea rcx, [0x20475f70]
lea rdx, [0x20389580]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x202560c0
mov al, 0x2b
xchg byte [0x20475f73], al
lea rax, [0x20475f70]
ret
xor eax, eax
lea rcx, [0x20475f40]
lea rdx, [0x20389550]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20256100
mov al, 0xfa
xchg byte [0x20475f5c], al
lea rax, [0x20475f40]
ret
xor eax, eax
lea rcx, [0x20475f80]
lea rdx, [0x20389590]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20256140
mov al, 0x6b
xchg byte [0x20475fa3], al
lea rax, [0x20475f80]
ret
xor eax, eax
lea rcx, [0x20475fc0]
lea rdx, [0x203895d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20256180
mov al, 0xb4
xchg byte [0x20475fcf], al
lea rax, [0x20475fc0]
ret
xor eax, eax
lea rcx, [0x20476020]
lea rdx, [0x20389630]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x202561c0
mov al, 0xa4
xchg byte [0x2047602b], al
lea rax, [0x20476020]
ret
xor eax, eax
lea rcx, [0x20476000]
lea rdx, [0x20389610]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x202561f1
mov al, 0x96
xchg byte [0x20476002], al
lea rax, [0x20476000]
ret