Function at 0x63b260
Capabilities:
Encode data using xor

Disassembly:
push esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
je 0x63b2b9
test edx, edx
je 0x63b309
test esi, esi
je 0x63b349
test eax, eax
je 0x63b3c9
movzx eax, byte [0xb2750c]
cmp al, 0x6e
je 0x63b56b
mov cl, 0x8c
nop word cs:[eax + eax]
mov al, 0x60
lock cmpxchg byte [0xb2750c], cl
je 0x63b549
cmp al, 0x6e
jne 0x63b2a0
jmp 0x63b56b
test edx, edx
je 0x63b389
test esi, esi
je 0x63b3f9
test eax, eax
je 0x63b479
movzx eax, byte [0xb2754c]
cmp al, 0x38
je 0x63b62b
mov cl, 0x24
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x4f
lock cmpxchg byte [0xb2754c], cl
je 0x63b609
cmp al, 0x38
jne 0x63b2f0
jmp 0x63b62b
test esi, esi
je 0x63b439
test eax, eax
je 0x63b4a9
movzx eax, byte [0xb27447]
cmp al, 0xf7
je 0x63b65b
mov cl, 0xc
nop word [eax + eax]
mov al, 0x18
lock cmpxchg byte [0xb27447], cl
je 0x63b632
cmp al, 0xf7
jne 0x63b330
jmp 0x63b65b
test eax, eax
je 0x63b4d9
movzx eax, byte [0xb273f5]
cmp al, 0x62
je 0x63b68b
mov cl, 0x25
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xe
lock cmpxchg byte [0xb273f5], cl
je 0x63b662
cmp al, 0x62
jne 0x63b370
jmp 0x63b68b
test esi, esi
je 0x63b509
test eax, eax
je 0x63b572
movzx eax, byte [0xb2761b]
cmp al, 0x2e
je 0x63b70b
mov cl, 0x7c
nop word [eax + eax]
mov al, 0x1e
lock cmpxchg byte [0xb2761b], cl
je 0x63b6ec
cmp al, 0x2e
jne 0x63b3b0
jmp 0x63b70b
movzx eax, byte [0xb27371]
cmp al, 0x5f
je 0x63b6bb
mov cl, 0x22
nop word [eax + eax]
mov al, 0x90
lock cmpxchg byte [0xb27371], cl
je 0x63b692
cmp al, 0x5f
jne 0x63b3e0
jmp 0x63b6bb
test eax, eax
je 0x63b5a9
movzx eax, byte [0xb27563]
cmp al, 0xd6
je 0x63b73b
mov cl, 0xc0
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xae
lock cmpxchg byte [0xb27563], cl
je 0x63b712
cmp al, 0xd6
jne 0x63b420
jmp 0x63b73b
test eax, eax
je 0x63b5d9
movzx eax, byte [0xb275e6]
cmp al, 0xc9
je 0x63b76b
mov cl, 0x7f
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x7b
lock cmpxchg byte [0xb275e6], cl
je 0x63b742
cmp al, 0xc9
jne 0x63b460
jmp 0x63b76b
movzx eax, byte [0xb274a5]
cmp al, 0xcf
je 0x63b79b
mov cl, 0x41
nop word [eax + eax]
mov al, 0xf1
lock cmpxchg byte [0xb274a5], cl
je 0x63b772
cmp al, 0xcf
jne 0x63b490
jmp 0x63b79b
movzx eax, byte [0xb27602]
cmp al, 0x4e
je 0x63b7cb
mov cl, 0x56
nop word [eax + eax]
mov al, 0xe4
lock cmpxchg byte [0xb27602], cl
je 0x63b7a2
cmp al, 0x4e
jne 0x63b4c0
jmp 0x63b7cb
movzx eax, byte [0xb275bf]
cmp al, 0x48
je 0x63b7fb
mov cl, 0xba
nop word [eax + eax]
mov al, 0xa9
lock cmpxchg byte [0xb275bf], cl
je 0x63b7d2
cmp al, 0x48
jne 0x63b4f0
jmp 0x63b7fb
test eax, eax
je 0x63b6c2
movzx eax, byte [0xb274fe]
cmp al, 0x8e
je 0x63b82b
mov cl, 0x43
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xfb
lock cmpxchg byte [0xb274fe], cl
je 0x63b802
cmp al, 0x8e
jne 0x63b530
jmp 0x63b82b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaaee20]
xor byte [eax + 0xb27500], cl
inc eax
cmp eax, 0xc
jl 0x63b550
mov al, 0x6e
xchg byte [0xb2750c], al
mov eax, 0xb27500
pop esi
ret
movzx eax, byte [0xb27463]
cmp al, 0x5a
je 0x63b85b
mov cl, 0x28
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x74
lock cmpxchg byte [0xb27463], cl
je 0x63b832
cmp al, 0x5a
jne 0x63b590
jmp 0x63b85b
movzx eax, byte [0xb275f2]
cmp al, 0x77
je 0x63b88b
mov cl, 0xaa
nop word [eax + eax]
mov al, 0xe7
lock cmpxchg byte [0xb275f2], cl
je 0x63b862
cmp al, 0x77
jne 0x63b5c0
jmp 0x63b88b
movzx eax, byte [0xb27439]
cmp al, 0xab
je 0x63b8bb
mov cl, 0x3d
nop word [eax + eax]
mov al, 0xba
lock cmpxchg byte [0xb27439], cl
je 0x63b892
cmp al, 0xab
jne 0x63b5f0
jmp 0x63b8bb
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaaee50]
add byte [eax + 0xb27530], cl
inc eax
cmp eax, 0x1c
jl 0x63b610
mov al, 0x38
xchg byte [0xb2754c], al
mov eax, 0xb27530
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaed70]
xor byte [eax + 0xb27440], cl
inc eax
cmp eax, 7
jl 0x63b640
mov al, 0xf7
xchg byte [0xb27447], al
mov eax, 0xb27440
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaecf0]
add byte [eax + 0xb273c0], cl
inc eax
cmp eax, 0x35
jl 0x63b670
mov al, 0x62
xchg byte [0xb273f5], al
mov eax, 0xb273c0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaec70]
add byte [eax + 0xb27340], cl
inc eax
cmp eax, 0x31
jl 0x63b6a0
mov al, 0x5f
xchg byte [0xb27371], al
mov eax, 0xb27340
pop esi
ret
movzx eax, byte [0xb274e8]
cmp al, 0xe6
je 0x63b8df
mov cl, 0xc9
mov al, 0xa7
lock cmpxchg byte [0xb274e8], cl
je 0x63b8c2
cmp al, 0xe6
jne 0x63b6d3
jmp 0x63b8df
xor eax, eax
nop
movzx ecx, byte [eax + 0xaaef30]
add byte [eax + 0xb27610], cl
inc eax
cmp eax, 0xb
jl 0x63b6f0
mov al, 0x2e
xchg byte [0xb2761b], al
mov eax, 0xb27610
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaee80]
xor byte [eax + 0xb27560], cl
inc eax
cmp eax, 3
jl 0x63b720
mov al, 0xd6
xchg byte [0xb27563], al
mov eax, 0xb27560
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaeee0]
xor byte [eax + 0xb275c0], cl
inc eax
cmp eax, 0x26
jl 0x63b750
mov al, 0xc9
xchg byte [0xb275e6], al
mov eax, 0xb275c0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaedb0]
add byte [eax + 0xb27490], cl
inc eax
cmp eax, 0x15
jl 0x63b780
mov al, 0xcf
xchg byte [0xb274a5], al
mov eax, 0xb27490
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaef20]
xor byte [eax + 0xb27600], cl
inc eax
cmp eax, 2
jl 0x63b7b0
mov al, 0x4e
xchg byte [0xb27602], al
mov eax, 0xb27600
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaeed0]
xor byte [eax + 0xb275b0], cl
inc eax
cmp eax, 0xf
jl 0x63b7e0
mov al, 0x48
xchg byte [0xb275bf], al
mov eax, 0xb275b0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaee10]
xor byte [eax + 0xb274f0], cl
inc eax
cmp eax, 0xe
jl 0x63b810
mov al, 0x8e
xchg byte [0xb274fe], al
mov eax, 0xb274f0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaed80]
xor byte [eax + 0xb27450], cl
inc eax
cmp eax, 0x13
jl 0x63b840
mov al, 0x5a
xchg byte [0xb27463], al
mov eax, 0xb27450
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaef10]
add byte [eax + 0xb275f0], cl
inc eax
cmp eax, 2
jl 0x63b870
mov al, 0x77
xchg byte [0xb275f2], al
mov eax, 0xb275f0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaed30]
xor byte [eax + 0xb27400], cl
inc eax
cmp eax, 0x39
jl 0x63b8a0
mov al, 0xab
xchg byte [0xb27439], al
mov eax, 0xb27400
pop esi
ret
xor eax, eax
movzx ecx, byte [eax + 0xaaee00]
add byte [eax + 0xb274e0], cl
inc eax
cmp eax, 8
jl 0x63b8c4
mov al, 0xe6
xchg byte [0xb274e8], al
mov eax, 0xb274e0
pop esi
ret