Function at 0x435a40
Capabilities:
Encode data using xor

Disassembly:
push ebx
sub esp, 0x24
mov dword [esp + 0x10], 0x62a3acad
mov word [esp + 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x435aa3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x5b711a66
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x35
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x435a70
mov dword [esp + 8], 0x62a3acad
mov word [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x435afe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
add eax, 0x5b711a66
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x35
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x435ad0
mov eax, dword [esp + 8]
xor ecx, ecx
cpuid
mov dword [esp + 0x10], 0x1d110c02
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x435b63
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x10]
add eax, 0xb396c72e
xor eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x2a
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x435b30
cmp ecx, dword [esp + 0x10]
je 0x435c64
mov dword [esp + 0x20], 0x87f7899a
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x435bbe
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 + 0x20]
add eax, 0x975993af
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xe
mov edx, dword [esp]
mov byte [esp + edx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x435b90
cmp ecx, dword [esp + 0x20]
je 0x435c64
mov dword [esp + 0x1c], 0x5a4c4436
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x435c0e
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add eax, 0xd1e8a6fa
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xa6
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x435be0
cmp ecx, dword [esp + 0x1c]
je 0x435c64
mov dword [esp + 0x18], 0x58409c6b
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x435c5e
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add eax, 0xc2ca6465
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x48
mov edx, dword [esp]
mov byte [esp + edx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x435c30
cmp ecx, dword [esp + 0x18]
jne 0x435c6b
mov al, 1
add esp, 0x24
pop ebx
ret
mov dword [esp + 8], 0x606c5e5f
mov byte [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x435cbe
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
add eax, 0x41f01bca
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xb8
mov edx, dword [esp]
mov byte [esp + edx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x435c90
cmp ecx, dword [esp + 8]
sete al
jmp 0x435c66