Function at 0x633560
Capabilities:
Encode data using xor

Disassembly:
push esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
je 0x6335b9
test edx, edx
je 0x633609
test esi, esi
je 0x633649
test eax, eax
je 0x6336c9
movzx eax, byte [0xb26108]
cmp al, 0x8f
je 0x63386b
mov cl, 0x2a
nop word cs:[eax + eax]
mov al, 0x6c
lock cmpxchg byte [0xb26108], cl
je 0x633849
cmp al, 0x8f
jne 0x6335a0
jmp 0x63386b
test edx, edx
je 0x633689
test esi, esi
je 0x6336f9
test eax, eax
je 0x633779
movzx eax, byte [0xb2645f]
cmp al, 0xf
je 0x63392b
mov cl, 0xa7
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xc4
lock cmpxchg byte [0xb2645f], cl
je 0x633909
cmp al, 0xf
jne 0x6335f0
jmp 0x63392b
test esi, esi
je 0x633739
test eax, eax
je 0x6337a9
movzx eax, byte [0xb262bd]
cmp al, 0x23
je 0x63395b
mov cl, 0xe5
nop word [eax + eax]
mov al, 0xb9
lock cmpxchg byte [0xb262bd], cl
je 0x633932
cmp al, 0x23
jne 0x633630
jmp 0x63395b
test eax, eax
je 0x6337d9
movzx eax, byte [0xb260ed]
cmp al, 0x17
je 0x63398b
mov cl, 0x2f
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x34
lock cmpxchg byte [0xb260ed], cl
je 0x633962
cmp al, 0x17
jne 0x633670
jmp 0x63398b
test esi, esi
je 0x633809
test eax, eax
je 0x633872
movzx eax, byte [0xb536f8]
cmp al, 0x70
je 0x633a0b
mov cl, 0xdd
nop word [eax + eax]
xor eax, eax
lock cmpxchg byte [0xb536f8], cl
je 0x6339ec
cmp al, 0x70
jne 0x6336b0
jmp 0x633a0b
movzx eax, byte [0xb261b2]
cmp al, 0x27
je 0x6339bb
mov cl, 0x30
nop word [eax + eax]
mov al, 0x13
lock cmpxchg byte [0xb261b2], cl
je 0x633992
cmp al, 0x27
jne 0x6336e0
jmp 0x6339bb
test eax, eax
je 0x6338a9
movzx eax, byte [0xb2630c]
cmp al, 0x90
je 0x633a3b
mov cl, 0x7a
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xc2
lock cmpxchg byte [0xb2630c], cl
je 0x633a12
cmp al, 0x90
jne 0x633720
jmp 0x633a3b
test eax, eax
je 0x6338d9
movzx eax, byte [0xb2659d]
cmp al, 0xc1
je 0x633a6b
mov cl, 0x36
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x85
lock cmpxchg byte [0xb2659d], cl
je 0x633a42
cmp al, 0xc1
jne 0x633760
jmp 0x633a6b
movzx eax, byte [0xb2612d]
cmp al, 0xe3
je 0x633a9b
mov cl, 7
nop word [eax + eax]
mov al, 0xb6
lock cmpxchg byte [0xb2612d], cl
je 0x633a72
cmp al, 0xe3
jne 0x633790
jmp 0x633a9b
movzx eax, byte [0xb2668e]
cmp al, 0x79
je 0x633acb
mov cl, 0xd1
nop word [eax + eax]
mov al, 0x15
lock cmpxchg byte [0xb2668e], cl
je 0x633aa2
cmp al, 0x79
jne 0x6337c0
jmp 0x633acb
movzx eax, byte [0xb26793]
cmp al, 0xa4
je 0x633afb
mov cl, 0x67
nop word [eax + eax]
mov al, 0xd
lock cmpxchg byte [0xb26793], cl
je 0x633ad2
cmp al, 0xa4
jne 0x6337f0
jmp 0x633afb
test eax, eax
je 0x6339c2
movzx eax, byte [0xb26363]
cmp al, 0x66
je 0x633b2b
mov cl, 0xa9
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x49
lock cmpxchg byte [0xb26363], cl
je 0x633b02
cmp al, 0x66
jne 0x633830
jmp 0x633b2b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaadae0]
xor byte [eax + 0xb260f0], cl
inc eax
cmp eax, 0x18
jl 0x633850
mov al, 0x8f
xchg byte [0xb26108], al
mov eax, 0xb260f0
pop esi
ret
movzx eax, byte [0xb26479]
cmp al, 0xef
je 0x633b5b
mov cl, 0x60
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x2a
lock cmpxchg byte [0xb26479], cl
je 0x633b32
cmp al, 0xef
jne 0x633890
jmp 0x633b5b
movzx eax, byte [0xb2663a]
cmp al, 0x2d
je 0x633b8b
mov cl, 0xca
nop word [eax + eax]
mov al, 0x3e
lock cmpxchg byte [0xb2663a], cl
je 0x633b62
cmp al, 0x2d
jne 0x6338c0
jmp 0x633b8b
movzx eax, byte [0xb2654b]
cmp al, 0x5d
je 0x633bbb
mov cl, 0xf0
nop word [eax + eax]
mov al, 0xba
lock cmpxchg byte [0xb2654b], cl
je 0x633b92
cmp al, 0x5d
jne 0x6338f0
jmp 0x633bbb
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaade10]
add byte [eax + 0xb26440], cl
inc eax
cmp eax, 0x1f
jl 0x633910
mov al, 0xf
xchg byte [0xb2645f], al
mov eax, 0xb26440
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadc80]
add byte [eax + 0xb262a0], cl
inc eax
cmp eax, 0x1d
jl 0x633940
mov al, 0x23
xchg byte [0xb262bd], al
mov eax, 0xb262a0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadac0]
xor byte [eax + 0xb260d0], cl
inc eax
cmp eax, 0x1d
jl 0x633970
mov al, 0x17
xchg byte [0xb260ed], al
mov eax, 0xb260d0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadb80]
add byte [eax + 0xb26190], cl
inc eax
cmp eax, 0x22
jl 0x6339a0
mov al, 0x27
xchg byte [0xb261b2], al
mov eax, 0xb26190
pop esi
ret
movzx eax, byte [0xb267ef]
cmp al, 0x2b
je 0x633bdf
mov cl, 0xce
mov al, 0xb0
lock cmpxchg byte [0xb267ef], cl
je 0x633bc2
cmp al, 0x2b
jne 0x6339d3
jmp 0x633bdf
xor eax, eax
nop
movzx ecx, byte [eax + 0xaae1e0]
add byte [eax + 0xb26830], cl
inc eax
cmp eax, 2
jl 0x6339f0
mov al, 0x70
xchg byte [0xb536f8], al
mov eax, 0xb26830
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadcd0]
add byte [eax + 0xb262f0], cl
inc eax
cmp eax, 0x1c
jl 0x633a20
mov al, 0x90
xchg byte [0xb2630c], al
mov eax, 0xb262f0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadf50]
xor byte [eax + 0xb26590], cl
inc eax
cmp eax, 0xd
jl 0x633a50
mov al, 0xc1
xchg byte [0xb2659d], al
mov eax, 0xb26590
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadb00]
add byte [eax + 0xb26110], cl
inc eax
cmp eax, 0x1d
jl 0x633a80
mov al, 0xe3
xchg byte [0xb2612d], al
mov eax, 0xb26110
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae030]
xor byte [eax + 0xb26680], cl
inc eax
cmp eax, 0xe
jl 0x633ab0
mov al, 0x79
xchg byte [0xb2668e], al
mov eax, 0xb26680
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae140]
xor byte [eax + 0xb26790], cl
inc eax
cmp eax, 3
jl 0x633ae0
mov al, 0xa4
xchg byte [0xb26793], al
mov eax, 0xb26790
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadd20]
xor byte [eax + 0xb26340], cl
inc eax
cmp eax, 0x23
jl 0x633b10
mov al, 0x66
xchg byte [0xb26363], al
mov eax, 0xb26340
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaade30]
xor byte [eax + 0xb26460], cl
inc eax
cmp eax, 0x19
jl 0x633b40
mov al, 0xef
xchg byte [0xb26479], al
mov eax, 0xb26460
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadfd0]
xor byte [eax + 0xb26620], cl
inc eax
cmp eax, 0x1a
jl 0x633b70
mov al, 0x2d
xchg byte [0xb2663a], al
mov eax, 0xb26620
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadf00]
add byte [eax + 0xb26530], cl
inc eax
cmp eax, 0x1b
jl 0x633ba0
mov al, 0x5d
xchg byte [0xb2654b], al
mov eax, 0xb26530
pop esi
ret
xor eax, eax
movzx ecx, byte [eax + 0xaae190]
xor byte [eax + 0xb267e0], cl
inc eax
cmp eax, 0xf
jl 0x633bc4
mov al, 0x2b
xchg byte [0xb267ef], al
mov eax, 0xb267e0
pop esi
ret