Function at 0x636030
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
test ecx, ecx
je 0x63607a
mov ecx, dword [esp + 8]
test edx, edx
je 0x6360ba
test eax, eax
je 0x6360fa
movzx eax, byte [0xb2709b]
cmp al, 0xd
je 0x636074
mov cl, 0xf6
nop word cs:[eax + eax]
nop
mov al, 0x8b
lock cmpxchg byte [0xb2709b], cl
je 0x6361c9
cmp al, 0xd
jne 0x636060
mov eax, 0xb27090
ret
test edx, edx
je 0x63612a
test eax, eax
je 0x63615a
movzx eax, byte [0xb27053]
cmp al, 0xe9
je 0x6360b4
mov cl, 0x9c
nop word [eax + eax]
mov al, 0xfa
lock cmpxchg byte [0xb27053], cl
je 0x636289
cmp al, 0xe9
jne 0x6360a0
mov eax, 0xb27050
ret
test eax, eax
je 0x63618a
test ecx, ecx
je 0x6361f1
movzx eax, byte [0xb26fb5]
cmp al, 0x63
je 0x6360f4
mov cl, 0xd2
nop word [eax + eax]
mov al, 0x78
lock cmpxchg byte [0xb26fb5], cl
je 0x6362e9
cmp al, 0x63
jne 0x6360e0
mov eax, 0xb26fb0
ret
test ecx, ecx
je 0x636229
movzx eax, byte [0xb53704]
cmp al, 0x65
je 0x636124
mov cl, 0xe2
nop
xor eax, eax
lock cmpxchg byte [0xb53704], cl
je 0x636311
cmp al, 0x65
jne 0x636110
mov eax, 0xb26f90
ret
test eax, eax
je 0x636259
movzx eax, byte [0xb26fcf]
cmp al, 0x31
je 0x636154
mov cl, 0xf1
nop
mov al, 0x20
lock cmpxchg byte [0xb26fcf], cl
je 0x636341
cmp al, 0x31
jne 0x636140
mov eax, 0xb26fc0
ret
movzx eax, byte [0xb26ea3]
cmp al, 0x90
je 0x636184
mov cl, 0x78
nop word [eax + eax]
mov al, 0x3e
lock cmpxchg byte [0xb26ea3], cl
je 0x636371
cmp al, 0x90
jne 0x636170
mov eax, 0xb26ea0
ret
test ecx, ecx
je 0x6362b1
movzx eax, byte [0xb26f33]
cmp al, 0x54
je 0x6363cb
mov cl, 0x28
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x86
lock cmpxchg byte [0xb26f33], cl
je 0x6363a1
cmp al, 0x54
jne 0x6361b0
jmp 0x6363cb
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaae980]
add byte [eax + 0xb27090], cl
inc eax
cmp eax, 0xb
jl 0x6361d0
mov al, 0xd
xchg byte [0xb2709b], al
mov eax, 0xb27090
ret
movzx eax, byte [0xb27083]
cmp al, 0xb
je 0x6363fb
mov cl, 0x37
nop word cs:[eax + eax]
nop dword [eax]
mov al, 5
lock cmpxchg byte [0xb27083], cl
je 0x6363d1
cmp al, 0xb
jne 0x636210
jmp 0x6363fb
movzx eax, byte [0xb2701a]
cmp al, 0xba
je 0x63642b
mov cl, 0xe5
nop word [eax + eax]
mov al, 0x3b
lock cmpxchg byte [0xb2701a], cl
je 0x636401
cmp al, 0xba
jne 0x636240
jmp 0x63642b
movzx eax, byte [0xb270d6]
cmp al, 6
je 0x63645b
mov cl, 0xb4
nop word [eax + eax]
mov al, 0x8c
lock cmpxchg byte [0xb270d6], cl
je 0x636431
cmp al, 6
jne 0x636270
jmp 0x63645b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaae940]
xor byte [eax + 0xb27050], cl
inc eax
cmp eax, 3
jl 0x636290
mov al, 0xe9
xchg byte [0xb27053], al
mov eax, 0xb27050
ret
movzx eax, byte [0xb26f84]
cmp al, 0x51
je 0x63648b
mov cl, 0xe0
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x71
lock cmpxchg byte [0xb26f84], cl
je 0x636461
cmp al, 0x51
jne 0x6362d0
jmp 0x63648b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xaae8a0]
add byte [eax + 0xb26fb0], cl
inc eax
cmp eax, 5
jl 0x6362f0
mov al, 0x63
xchg byte [0xb26fb5], al
mov eax, 0xb26fb0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae880]
xor byte [eax + 0xb26f90], cl
inc eax
cmp eax, 0x1a
jl 0x636320
mov al, 0x65
xchg byte [0xb53704], al
mov eax, 0xb26f90
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae8b0]
add byte [eax + 0xb26fc0], cl
inc eax
cmp eax, 0xf
jl 0x636350
mov al, 0x31
xchg byte [0xb26fcf], al
mov eax, 0xb26fc0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae7a0]
add byte [eax + 0xb26ea0], cl
inc eax
cmp eax, 3
jl 0x636380
mov al, 0x90
xchg byte [0xb26ea3], al
mov eax, 0xb26ea0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae810]
xor byte [eax + 0xb26f20], cl
inc eax
cmp eax, 0x13
jl 0x6363b0
mov al, 0x54
xchg byte [0xb26f33], al
mov eax, 0xb26f20
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae950]
xor byte [eax + 0xb27060], cl
inc eax
cmp eax, 0x23
jl 0x6363e0
mov al, 0xb
xchg byte [0xb27083], al
mov eax, 0xb27060
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae8e0]
add byte [eax + 0xb26ff0], cl
inc eax
cmp eax, 0x2a
jl 0x636410
mov al, 0xba
xchg byte [0xb2701a], al
mov eax, 0xb26ff0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae9a0]
xor byte [eax + 0xb270b0], cl
inc eax
cmp eax, 0x26
jl 0x636440
mov al, 6
xchg byte [0xb270d6], al
mov eax, 0xb270b0
ret
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [eax + 0xaae870]
xor byte [eax + 0xb26f80], cl
inc eax
cmp eax, 4
jl 0x636470
mov al, 0x51
xchg byte [0xb26f84], al
mov eax, 0xb26f80
ret