Function at 0x63d500
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
push esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
je 0x63d559
test edx, edx
je 0x63d5a9
test esi, esi
je 0x63d5e9
test eax, eax
je 0x63d669
movzx eax, byte [0xb2773c]
cmp al, 0xc
je 0x63d80b
mov cl, 5
nop word cs:[eax + eax]
mov al, 0xc1
lock cmpxchg byte [0xb2773c], cl
je 0x63d7e9
cmp al, 0xc
jne 0x63d540
jmp 0x63d80b
test edx, edx
je 0x63d629
test esi, esi
je 0x63d699
test eax, eax
je 0x63d719
movzx eax, byte [0xb27777]
cmp al, 0xac
je 0x63d8cb
mov cl, 0xcd
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x6c
lock cmpxchg byte [0xb27777], cl
je 0x63d8a9
cmp al, 0xac
jne 0x63d590
jmp 0x63d8cb
test esi, esi
je 0x63d6d9
test eax, eax
je 0x63d749
movzx eax, byte [0xb277fc]
cmp al, 0xa4
je 0x63d8fb
mov cl, 0x65
nop word [eax + eax]
mov al, 5
lock cmpxchg byte [0xb277fc], cl
je 0x63d8d2
cmp al, 0xa4
jne 0x63d5d0
jmp 0x63d8fb
test eax, eax
je 0x63d779
movzx eax, byte [0xb27759]
cmp al, 0xe1
je 0x63d92b
mov cl, 0x5a
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x63
lock cmpxchg byte [0xb27759], cl
je 0x63d902
cmp al, 0xe1
jne 0x63d610
jmp 0x63d92b
test esi, esi
je 0x63d7a9
test eax, eax
je 0x63d812
movzx eax, byte [0xb27764]
cmp al, 0xc4
je 0x63d9ab
mov cl, 0xad
nop word [eax + eax]
mov al, 0xed
lock cmpxchg byte [0xb27764], cl
je 0x63d98c
cmp al, 0xc4
jne 0x63d650
jmp 0x63d9ab
movzx eax, byte [0xb278cb]
cmp al, 0xcc
je 0x63d95b
mov cl, 0xfd
nop word [eax + eax]
mov al, 6
lock cmpxchg byte [0xb278cb], cl
je 0x63d932
cmp al, 0xcc
jne 0x63d680
jmp 0x63d95b
test eax, eax
je 0x63d849
movzx eax, byte [0xb2785b]
cmp al, 0xdb
je 0x63d9db
mov cl, 0x27
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xa9
lock cmpxchg byte [0xb2785b], cl
je 0x63d9b2
cmp al, 0xdb
jne 0x63d6c0
jmp 0x63d9db
test eax, eax
je 0x63d879
movzx eax, byte [0xb2779a]
cmp al, 0x1c
je 0x63da0b
mov cl, 0x29
nop word cs:[eax + eax]
nop dword [eax]
mov al, 5
lock cmpxchg byte [0xb2779a], cl
je 0x63d9e2
cmp al, 0x1c
jne 0x63d700
jmp 0x63da0b
movzx eax, byte [0xb277bf]
cmp al, 0x48
je 0x63da3b
mov cl, 0x87
nop word [eax + eax]
mov al, 0xed
lock cmpxchg byte [0xb277bf], cl
je 0x63da12
cmp al, 0x48
jne 0x63d730
jmp 0x63da3b
movzx eax, byte [0xb27693]
cmp al, 0x4b
je 0x63da6b
mov cl, 0xdc
nop word [eax + eax]
mov al, 0xf8
lock cmpxchg byte [0xb27693], cl
je 0x63da42
cmp al, 0x4b
jne 0x63d760
jmp 0x63da6b
movzx eax, byte [0xb276f5]
cmp al, 8
je 0x63da9b
mov cl, 0xad
nop word [eax + eax]
mov al, 0xdc
lock cmpxchg byte [0xb276f5], cl
je 0x63da72
cmp al, 8
jne 0x63d790
jmp 0x63da9b
test eax, eax
je 0x63d962
movzx eax, byte [0xb27813]
cmp al, 0x76
je 0x63dacb
mov cl, 0x3a
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xa1
lock cmpxchg byte [0xb27813], cl
je 0x63daa2
cmp al, 0x76
jne 0x63d7d0
jmp 0x63dacb
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaaf150]
add byte [eax + 0xb27730], cl
inc eax
cmp eax, 0xc
jl 0x63d7f0
mov al, 0xc
xchg byte [0xb2773c], al
mov eax, 0xb27730
pop esi
ret
movzx eax, byte [0xb2786f]
cmp al, 0x5d
je 0x63dafb
mov cl, 0xb4
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x40
lock cmpxchg byte [0xb2786f], cl
je 0x63dad2
cmp al, 0x5d
jne 0x63d830
jmp 0x63dafb
movzx eax, byte [0xb277a5]
cmp al, 0x96
je 0x63db2b
mov cl, 0xaf
nop word [eax + eax]
mov al, 0x37
lock cmpxchg byte [0xb277a5], cl
je 0x63db02
cmp al, 0x96
jne 0x63d860
jmp 0x63db2b
movzx eax, byte [0xb27896]
cmp al, 0x77
je 0x63db5b
mov cl, 0x45
nop word [eax + eax]
mov al, 0x31
lock cmpxchg byte [0xb27896], cl
je 0x63db32
cmp al, 0x77
jne 0x63d890
jmp 0x63db5b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaaf190]
xor byte [eax + 0xb27770], cl
inc eax
cmp eax, 7
jl 0x63d8b0
mov al, 0xac
xchg byte [0xb27777], al
mov eax, 0xb27770
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf200]
add byte [eax + 0xb277e0], cl
inc eax
cmp eax, 0x1c
jl 0x63d8e0
mov al, 0xa4
xchg byte [0xb277fc], al
mov eax, 0xb277e0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf160]
add byte [eax + 0xb27740], cl
inc eax
cmp eax, 0x19
jl 0x63d910
mov al, 0xe1
xchg byte [0xb27759], al
mov eax, 0xb27740
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf2e0]
xor byte [eax + 0xb278c0], cl
inc eax
cmp eax, 0xb
jl 0x63d940
mov al, 0xcc
xchg byte [0xb278cb], al
mov eax, 0xb278c0
pop esi
ret
movzx eax, byte [0xb276b0]
cmp al, 0x11
je 0x63db7f
mov cl, 0x2f
mov al, 0x9d
lock cmpxchg byte [0xb276b0], cl
je 0x63db62
cmp al, 0x11
jne 0x63d973
jmp 0x63db7f
xor eax, eax
nop
movzx ecx, byte [eax + 0xaaf180]
xor byte [eax + 0xb27760], cl
inc eax
cmp eax, 4
jl 0x63d990
mov al, 0xc4
xchg byte [0xb27764], al
mov eax, 0xb27760
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf270]
add byte [eax + 0xb27850], cl
inc eax
cmp eax, 0xb
jl 0x63d9c0
mov al, 0xdb
xchg byte [0xb2785b], al
mov eax, 0xb27850
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf1a0]
add byte [eax + 0xb27780], cl
inc eax
cmp eax, 0x1a
jl 0x63d9f0
mov al, 0x1c
xchg byte [0xb2779a], al
mov eax, 0xb27780
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf1d0]
xor byte [eax + 0xb277b0], cl
inc eax
cmp eax, 0xf
jl 0x63da20
mov al, 0x48
xchg byte [0xb277bf], al
mov eax, 0xb277b0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf0c0]
xor byte [eax + 0xb27690], cl
inc eax
cmp eax, 3
jl 0x63da50
mov al, 0x4b
xchg byte [0xb27693], al
mov eax, 0xb27690
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf110]
add byte [eax + 0xb276f0], cl
inc eax
cmp eax, 5
jl 0x63da80
mov al, 8
xchg byte [0xb276f5], al
mov eax, 0xb276f0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf230]
xor byte [eax + 0xb27810], cl
inc eax
cmp eax, 3
jl 0x63dab0
mov al, 0x76
xchg byte [0xb27813], al
mov eax, 0xb27810
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf280]
xor byte [eax + 0xb27860], cl
inc eax
cmp eax, 0xf
jl 0x63dae0
mov al, 0x5d
xchg byte [0xb2786f], al
mov eax, 0xb27860
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf1c0]
add byte [eax + 0xb277a0], cl
inc eax
cmp eax, 5
jl 0x63db10
mov al, 0x96
xchg byte [0xb277a5], al
mov eax, 0xb277a0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xaaf290]
xor byte [eax + 0xb27870], cl
inc eax
cmp eax, 0x26
jl 0x63db40
mov al, 0x77
xchg byte [0xb27896], al
mov eax, 0xb27870
pop esi
ret
xor eax, eax
movzx ecx, byte [eax + 0xaaf0d0]
xor byte [eax + 0xb276a0], cl
inc eax
cmp eax, 0x10
jl 0x63db64
mov al, 0x11
xchg byte [0xb276b0], al
mov eax, 0xb276a0
pop esi
ret