Function at 0x633bf0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
je 0x633c49
test edx, edx
je 0x633c99
test esi, esi
je 0x633cd9
test eax, eax
je 0x633d59
movzx eax, byte [0xb26270]
cmp al, 0xde
je 0x633efb
mov cl, 9
nop word cs:[eax + eax]
mov al, 0x1c
lock cmpxchg byte [0xb26270], cl
je 0x633ed9
cmp al, 0xde
jne 0x633c30
jmp 0x633efb
test edx, edx
je 0x633d19
test esi, esi
je 0x633d89
test eax, eax
je 0x633e09
movzx eax, byte [0xb261ec]
cmp al, 0x18
je 0x633fbb
mov cl, 0x1c
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x6f
lock cmpxchg byte [0xb261ec], cl
je 0x633f99
cmp al, 0x18
jne 0x633c80
jmp 0x633fbb
test esi, esi
je 0x633dc9
test eax, eax
je 0x633e39
movzx eax, byte [0xb26560]
cmp al, 0xaa
je 0x633feb
mov cl, 0x1b
nop word [eax + eax]
mov al, 0x87
lock cmpxchg byte [0xb26560], cl
je 0x633fc2
cmp al, 0xaa
jne 0x633cc0
jmp 0x633feb
test eax, eax
je 0x633e69
movzx eax, byte [0xb26184]
cmp al, 0xfd
je 0x63401b
mov cl, 0x9e
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x40
lock cmpxchg byte [0xb26184], cl
je 0x633ff2
cmp al, 0xfd
jne 0x633d00
jmp 0x63401b
test esi, esi
je 0x633e99
test eax, eax
je 0x633f02
movzx eax, byte [0xb26714]
cmp al, 0x3e
je 0x63409b
mov cl, 0x69
nop word [eax + eax]
mov al, 0x66
lock cmpxchg byte [0xb26714], cl
je 0x63407c
cmp al, 0x3e
jne 0x633d40
jmp 0x63409b
movzx eax, byte [0xb2672e]
cmp al, 0x22
je 0x63404b
mov cl, 0x75
nop word [eax + eax]
mov al, 0x66
lock cmpxchg byte [0xb2672e], cl
je 0x634022
cmp al, 0x22
jne 0x633d70
jmp 0x63404b
test eax, eax
je 0x633f39
movzx eax, byte [0xb26156]
cmp al, 0x70
je 0x6340cb
mov cl, 0x48
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x6c
lock cmpxchg byte [0xb26156], cl
je 0x6340a2
cmp al, 0x70
jne 0x633db0
jmp 0x6340cb
test eax, eax
je 0x633f69
movzx eax, byte [0xb26663]
cmp al, 0x29
je 0x6340fb
mov cl, 0xa9
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x3d
lock cmpxchg byte [0xb26663], cl
je 0x6340d2
cmp al, 0x29
jne 0x633df0
jmp 0x6340fb
movzx eax, byte [0xb26785]
cmp al, 0x66
je 0x63412b
mov cl, pe_nt_image_headers32
nop word [eax + eax]
mov al, 0x90
lock cmpxchg byte [0xb26785], cl
je 0x634102
cmp al, 0x66
jne 0x633e20
jmp 0x63412b
movzx eax, byte [0xb266ce]
cmp al, 0x6d
je 0x63415b
mov cl, 0x67
nop word [eax + eax]
mov al, 0x83
lock cmpxchg byte [0xb266ce], cl
je 0x634132
cmp al, 0x6d
jne 0x633e50
jmp 0x63415b
movzx eax, byte [0xb2684b]
cmp al, 0x22
je 0x63418b
mov cl, 0xbd
nop word [eax + eax]
mov al, 0xe
lock cmpxchg byte [0xb2684b], cl
je 0x634162
cmp al, 0x22
jne 0x633e80
jmp 0x63418b
test eax, eax
je 0x634052
movzx eax, byte [0xb26822]
cmp al, 0xa3
je 0x6341bb
mov cl, 0xa0
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xdf
lock cmpxchg byte [0xb26822], cl
je 0x634192
cmp al, 0xa3
jne 0x633ec0
jmp 0x6341bb
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaadc40]
add byte [eax + 0xb26250], cl
inc eax
cmp eax, 0x20
jl 0x633ee0
mov al, 0xde
xchg byte [0xb26270], al
mov eax, 0xb26250
pop esi
ret
movzx eax, byte [0xb2677c]
cmp al, 0xb
je 0x6341eb
mov cl, 0xae
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x21
lock cmpxchg byte [0xb2677c], cl
je 0x6341c2
cmp al, 0xb
jne 0x633f20
jmp 0x6341eb
movzx eax, byte [0xb26678]
cmp al, 0x4e
je 0x63421b
mov cl, 0xc5
nop word [eax + eax]
mov al, 0xab
lock cmpxchg byte [0xb26678], cl
je 0x6341f2
cmp al, 0x4e
jne 0x633f50
jmp 0x63421b
movzx eax, byte [0xb26584]
cmp al, 0x83
je 0x63424b
mov cl, 0xf7
nop word [eax + eax]
mov al, 0xeb
lock cmpxchg byte [0xb26584], cl
je 0x634222
cmp al, 0x83
jne 0x633f80
jmp 0x63424b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaadbb0]
xor byte [eax + 0xb261c0], cl
inc eax
cmp eax, 0x2c
jl 0x633fa0
mov al, 0x18
xchg byte [0xb261ec], al
mov eax, 0xb261c0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadf20]
add byte [eax + 0xb26550], cl
inc eax
cmp eax, 0x10
jl 0x633fd0
mov al, 0xaa
xchg byte [0xb26560], al
mov eax, 0xb26550
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadb50]
add byte [eax + 0xb26160], cl
inc eax
cmp eax, 0x24
jl 0x634000
mov al, 0xfd
xchg byte [0xb26184], al
mov eax, 0xb26160
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae0d0]
add byte [eax + 0xb26720], cl
inc eax
cmp eax, 0xe
jl 0x634030
mov al, 0x22
xchg byte [0xb2672e], al
mov eax, 0xb26720
pop esi
ret
movzx eax, byte [0xb2629e]
cmp al, 0x78
je 0x63426f
mov cl, 0xde
mov al, 0x31
lock cmpxchg byte [0xb2629e], cl
je 0x634252
cmp al, 0x78
jne 0x634063
jmp 0x63426f
xor eax, eax
nop
movzx ecx, byte [eax + 0xaae080]
xor byte [eax + 0xb266d0], cl
inc eax
cmp eax, 0x44
jl 0x634080
mov al, 0x3e
xchg byte [0xb26714], al
mov eax, 0xb266d0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadb20]
xor byte [eax + 0xb26130], cl
inc eax
cmp eax, 0x26
jl 0x6340b0
mov al, 0x70
xchg byte [0xb26156], al
mov eax, 0xb26130
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae000]
xor byte [eax + 0xb26650], cl
inc eax
cmp eax, 0x13
jl 0x6340e0
mov al, 0x29
xchg byte [0xb26663], al
mov eax, 0xb26650
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae130]
add byte [eax + 0xb26780], cl
inc eax
cmp eax, 5
jl 0x634110
mov al, 0x66
xchg byte [0xb26785], al
mov eax, 0xb26780
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae060]
xor byte [eax + 0xb266b0], cl
inc eax
cmp eax, 0x1e
jl 0x634140
mov al, 0x6d
xchg byte [0xb266ce], al
mov eax, 0xb266b0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae1f0]
xor byte [eax + 0xb26840], cl
inc eax
cmp eax, 0xb
jl 0x634170
mov al, 0x22
xchg byte [0xb2684b], al
mov eax, 0xb26840
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae1d0]
xor byte [eax + 0xb26820], cl
inc eax
cmp eax, 2
jl 0x6341a0
mov al, 0xa3
xchg byte [0xb26822], al
mov eax, 0xb26820
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae110]
xor byte [eax + 0xb26760], cl
inc eax
cmp eax, 0x1c
jl 0x6341d0
mov al, 0xb
xchg byte [0xb2677c], al
mov eax, 0xb26760
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaae020]
xor byte [eax + 0xb26670], cl
inc eax
cmp eax, 8
jl 0x634200
mov al, 0x4e
xchg byte [0xb26678], al
mov eax, 0xb26670
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaadf30]
add byte [eax + 0xb26570], cl
inc eax
cmp eax, 0x14
jl 0x634230
mov al, 0x83
xchg byte [0xb26584], al
mov eax, 0xb26570
pop esi
ret
xor eax, eax
movzx ecx, byte [eax + 0xaadc60]
add byte [eax + 0xb26280], cl
inc eax
cmp eax, 0x1e
jl 0x634254
mov al, 0x78
xchg byte [0xb2629e], al
mov eax, 0xb26280
pop esi
ret