Function at 0x63af30
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
test ecx, ecx
je 0x63af7a
test edx, edx
je 0x63afba
test eax, eax
je 0x63afea
movzx eax, byte [0xb273b2]
cmp al, 0xd4
je 0x63af74
mov cl, 0xed
nop word cs:[eax + eax]
nop dword [eax + eax]
mov al, 0x30
lock cmpxchg byte [0xb273b2], cl
je 0x63b0aa
cmp al, 0xd4
jne 0x63af60
mov eax, 0xb27380
ret
test edx, edx
je 0x63b01a
test eax, eax
je 0x63b04a
movzx eax, byte [0xb27480]
cmp al, 1
je 0x63afb4
mov cl, 0xec
nop word [eax + eax]
mov al, 0xd8
lock cmpxchg byte [0xb27480], cl
je 0x63b109
cmp al, 1
jne 0x63afa0
mov eax, 0xb27470
ret
test eax, eax
je 0x63b07a
movzx eax, byte [0xb27555]
cmp al, 0xf9
je 0x63afe4
mov cl, 0xd3
nop
mov al, 2
lock cmpxchg byte [0xb27555], cl
je 0x63b131
cmp al, 0xf9
jne 0x63afd0
mov eax, 0xb27550
ret
movzx eax, byte [0xb275ab]
cmp al, 0x4e
je 0x63b014
mov cl, 0x3a
nop word [eax + eax]
mov al, 0x8e
lock cmpxchg byte [0xb275ab], cl
je 0x63b161
cmp al, 0x4e
jne 0x63b000
mov eax, 0xb275a0
ret
test eax, eax
je 0x63b0d1
movzx eax, byte [0xb274c2]
cmp al, 0x72
je 0x63b044
mov cl, 0xa5
nop
mov al, 0x6f
lock cmpxchg byte [0xb274c2], cl
je 0x63b191
cmp al, 0x72
jne 0x63b030
mov eax, 0xb274b0
ret
movzx eax, byte [0xb27529]
cmp al, 0x71
je 0x63b074
mov cl, 0x76
nop word [eax + eax]
mov al, 0xe0
lock cmpxchg byte [0xb27529], cl
je 0x63b1c1
cmp al, 0x71
jne 0x63b060
mov eax, 0xb27510
ret
movzx eax, byte [0xb27593]
cmp al, 0x30
je 0x63b0a4
mov cl, 0x3c
nop word [eax + eax]
mov al, 0x67
lock cmpxchg byte [0xb27593], cl
je 0x63b1f1
cmp al, 0x30
jne 0x63b090
mov eax, 0xb27570
ret
xor eax, eax
nop dword [eax]
movzx ecx, byte [eax + 0xaaecb0]
add byte [eax + 0xb27380], cl
inc eax
cmp eax, 0x32
jl 0x63b0b0
mov al, 0xd4
xchg byte [0xb273b2], al
mov eax, 0xb27380
ret
movzx eax, byte [0xb274de]
cmp al, 0x29
je 0x63b24b
mov cl, 5
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xf8
lock cmpxchg byte [0xb274de], cl
je 0x63b221
cmp al, 0x29
jne 0x63b0f0
jmp 0x63b24b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaaeda0]
add byte [eax + 0xb27470], cl
inc eax
cmp eax, 0x10
jl 0x63b110
mov al, 1
xchg byte [0xb27480], al
mov eax, 0xb27470
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaee70]
xor byte [eax + 0xb27550], cl
inc eax
cmp eax, 5
jl 0x63b140
mov al, 0xf9
xchg byte [0xb27555], al
mov eax, 0xb27550
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaeec0]
xor byte [eax + 0xb275a0], cl
inc eax
cmp eax, 0xb
jl 0x63b170
mov al, 0x4e
xchg byte [0xb275ab], al
mov eax, 0xb275a0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaedd0]
add byte [eax + 0xb274b0], cl
inc eax
cmp eax, 0x12
jl 0x63b1a0
mov al, 0x72
xchg byte [0xb274c2], al
mov eax, 0xb274b0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaee30]
add byte [eax + 0xb27510], cl
inc eax
cmp eax, 0x19
jl 0x63b1d0
mov al, 0x71
xchg byte [0xb27529], al
mov eax, 0xb27510
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaee90]
xor byte [eax + 0xb27570], cl
inc eax
cmp eax, 0x23
jl 0x63b200
mov al, 0x30
xchg byte [0xb27593], al
mov eax, 0xb27570
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaedf0]
xor byte [eax + 0xb274d0], cl
inc eax
cmp eax, 0xe
jl 0x63b230
mov al, 0x29
xchg byte [0xb274de], al
mov eax, 0xb274d0
ret