Function at 0x632b00
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
test ecx, ecx
je 0x632b4a
test edx, edx
je 0x632b8a
test eax, eax
je 0x632bba
movzx eax, byte [0xb26242]
cmp al, 0x23
je 0x632b44
mov cl, 0x24
nop word cs:[eax + eax]
nop dword [eax + eax]
mov al, 0xb0
lock cmpxchg byte [0xb26242], cl
je 0x632c7a
cmp al, 0x23
jne 0x632b30
mov eax, 0xb26220
ret
test edx, edx
je 0x632bea
test eax, eax
je 0x632c1a
movzx eax, byte [0xb26816]
cmp al, 0x1e
je 0x632b84
mov cl, 0xe1
nop word [eax + eax]
mov al, 0x10
lock cmpxchg byte [0xb26816], cl
je 0x632cd9
cmp al, 0x1e
jne 0x632b70
mov eax, 0xb267f0
ret
test eax, eax
je 0x632c4a
movzx eax, byte [0xb26647]
cmp al, 0xac
je 0x632bb4
mov cl, 0xb2
nop
mov al, 0xc0
lock cmpxchg byte [0xb26647], cl
je 0x632d01
cmp al, 0xac
jne 0x632ba0
mov eax, 0xb26640
ret
movzx eax, byte [0xb265f5]
cmp al, 0xb7
je 0x632be4
mov cl, 0x54
nop word [eax + eax]
mov al, 0x23
lock cmpxchg byte [0xb265f5], cl
je 0x632d31
cmp al, 0xb7
jne 0x632bd0
mov eax, 0xb265e0
ret
test eax, eax
je 0x632ca1
movzx eax, byte [0xb263f6]
cmp al, 0x1b
je 0x632c14
mov cl, 0xa5
nop
mov al, 0x37
lock cmpxchg byte [0xb263f6], cl
je 0x632d61
cmp al, 0x1b
jne 0x632c00
mov eax, 0xb263c0
ret
movzx eax, byte [0xb266aa]
cmp al, 0x44
je 0x632c44
mov cl, 0x97
nop word [eax + eax]
mov al, 0x86
lock cmpxchg byte [0xb266aa], cl
je 0x632d91
cmp al, 0x44
jne 0x632c30
mov eax, 0xb26690
ret
movzx eax, byte [0xb2641c]
cmp al, 0x74
je 0x632c74
mov cl, 0x18
nop word [eax + eax]
mov al, 0x90
lock cmpxchg byte [0xb2641c], cl
je 0x632dc1
cmp al, 0x74
jne 0x632c60
mov eax, 0xb26400
ret
xor eax, eax
nop dword [eax]
movzx ecx, byte [eax + 0xaadc10]
xor byte [eax + 0xb26220], cl
inc eax
cmp eax, 0x22
jl 0x632c80
mov al, 0x23
xchg byte [0xb26242], al
mov eax, 0xb26220
ret
movzx eax, byte [0xb2652d]
cmp al, 0x52
je 0x632e1b
mov cl, 0xb7
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x17
lock cmpxchg byte [0xb2652d], cl
je 0x632df1
cmp al, 0x52
jne 0x632cc0
jmp 0x632e1b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaae1a0]
add byte [eax + 0xb267f0], cl
inc eax
cmp eax, 0x26
jl 0x632ce0
mov al, 0x1e
xchg byte [0xb26816], al
mov eax, 0xb267f0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaadff0]
xor byte [eax + 0xb26640], cl
inc eax
cmp eax, 7
jl 0x632d10
mov al, 0xac
xchg byte [0xb26647], al
mov eax, 0xb26640
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaadf90]
add byte [eax + 0xb265e0], cl
inc eax
cmp eax, 0x15
jl 0x632d40
mov al, 0xb7
xchg byte [0xb265f5], al
mov eax, 0xb265e0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaadd90]
add byte [eax + 0xb263c0], cl
inc eax
cmp eax, 0x36
jl 0x632d70
mov al, 0x1b
xchg byte [0xb263f6], al
mov eax, 0xb263c0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae040]
add byte [eax + 0xb26690], cl
inc eax
cmp eax, 0x1a
jl 0x632da0
mov al, 0x44
xchg byte [0xb266aa], al
mov eax, 0xb26690
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaaddd0]
add byte [eax + 0xb26400], cl
inc eax
cmp eax, 0x1c
jl 0x632dd0
mov al, 0x74
xchg byte [0xb2641c], al
mov eax, 0xb26400
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaadee0]
xor byte [eax + 0xb26510], cl
inc eax
cmp eax, 0x1d
jl 0x632e00
mov al, 0x52
xchg byte [0xb2652d], al
mov eax, 0xb26510
ret