Function at 0x432480
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov eax, dword [ebp + 8]
xor ecx, ecx
cpuid
mov dword [esp + 0x48], 0xf109f6fc
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xb
ja 0x43250a
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x48]
lea esi, [eax + edx]
add esi, 0xb2a0a975
add eax, 0xb2a0a975
and eax, edx
add eax, eax
mov edx, eax
xor edx, esi
not eax
and eax, esi
add eax, eax
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0xcd
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x48], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xc
jb 0x4324c0
cmp ecx, dword [esp + 0x48]
je 0x43267f
mov dword [esp + 0x18], 0xe180c0b
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x43258b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
lea esi, [eax + edx]
add esi, 0x697407a1
add eax, 0x697407a1
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
add al, 0x99
mov edx, dword [esp]
mov byte [esp + edx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x432550
cmp ecx, dword [esp + 0x18]
je 0x43267f
mov dword [esp + 8], 0x1e100032
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x4325fb
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [eax + edx]
add eax, 0x9a
and eax, edx
add eax, eax
sub esi, eax
add esi, 0xdb6c3d9a
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
add al, 0xca
mov edx, dword [esp]
mov byte [esp + edx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x4325c0
cmp ecx, dword [esp + 8]
je 0x43267f
mov dword [esp + 0x38], 0x4b411368
mov dword [esp + 0x3c], 0
mov dword [esp + 0x3f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xa
ja 0x432679
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x38]
lea esi, [eax + edx]
add esi, 0xe1ef9ca3
add eax, 0xe1ef9ca3
and eax, edx
add eax, eax
sub esi, eax
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
mov edx, eax
xor edx, 0x8a
and eax, 0xa
lea eax, [edx + eax*2]
inc al
mov edx, dword [esp]
mov byte [esp + edx + 0x38], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xb
jb 0x432630
cmp ecx, dword [esp + 0x38]
jne 0x432688
mov al, 1
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [esp + 0x28], 0x869aacad
mov dword [esp + 0x2c], 0
mov word [esp + 0x30], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 9
ja 0x4326ea
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [eax + 0x24b4c130]
and esi, edx
add eax, edx
add eax, 0x24b4c130
add esi, esi
sub eax, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xb0
mov edx, dword [esp]
mov byte [esp + edx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xa
jb 0x4326b0
cmp ecx, dword [esp + 0x28]
sete al
jmp 0x432681