Function at 0x433fc0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
xor ecx, ecx
cpuid
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x30]
mov byte [esp + 0x34], cl
mov byte [esp + 0x78], 0x3c
mov byte [esp + 0x79], 0xc6
mov byte [esp + 0x7a], 0xc9
mov byte [esp + 0x7b], 0x41
mov word [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0xa
jae 0x43409e
jmp 0x43403d
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx esi, byte [esp + edx + 0x78]
mov edi, ecx
add edi, 0xefde55bd
lea edx, [ecx + esi - 0x1021aa43]
add ecx, 0xbd
and ecx, esi
and edi, esi
add ecx, edi
mov esi, ecx
xor esi, edx
not ecx
and edx, ecx
add edx, edx
sub edx, esi
mov dword [esp + 0xa0], edx
mov ecx, dword [esp + 0xa0]
add cl, 0xd5
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x78], cl
mov ecx, dword [esp + 4]
inc ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 0xa
jb 0x43403d
jmp 0x43409e
mov edx, dword [esp + 0x78]
mov cl, 1
cmp eax, edx
je 0x434326
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x38], cl
mov byte [esp + 0x18], 0xf3
mov byte [esp + 0x19], 0xf6
mov byte [esp + 0x1a], 0xe6
mov byte [esp + 0x1b], 0xf0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 8
jae 0x43413d
jmp 0x4340ea
mov esi, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + ecx + 0x18]
mov ecx, esi
add ecx, 0xb8
and ecx, edx
mov edi, 0x140ec447
sub edi, esi
or edi, edx
not edi
add edi, edx
sub edi, ecx
mov dword [esp + 0xa4], edi
mov ecx, dword [esp + 0xa4]
add cl, 0xf8
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x18], cl
mov ecx, dword [esp + 8]
inc ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, 8
jb 0x4340ea
jmp 0x43413d
mov cl, 1
cmp eax, dword [esp + 0x18]
je 0x434326
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x28]
mov byte [esp + 0x3c], cl
mov byte [esp + 0x68], 0x90
mov byte [esp + 0x69], 0xee
mov byte [esp + 0x6a], 0xfe
mov byte [esp + 0x6b], 0xf8
mov dword [esp + 0x6f], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xb
jae 0x4341d1
jmp 0x43418f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x68]
add ecx, 0x26679855
xor ecx, edx
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xa8]
add cl, 0xad
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x68], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 0xb
jb 0x43418f
jmp 0x4341d1
mov cl, 1
cmp eax, dword [esp + 0x68]
je 0x434326
mov eax, dword [esp + 0x94]
mov cl, byte [esp + 0x24]
mov byte [esp + 0x40], cl
mov byte [esp + 0x58], 0xb6
mov byte [esp + 0x59], 0xab
mov byte [esp + 0x5a], 0x81
mov byte [esp + 0x5b], 0x8b
mov dword [esp + 0x5f], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xb
jae 0x434278
jmp 0x434223
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x58]
mov esi, ecx
and esi, 0xdeadccae
xor ecx, 0x5eadccae
lea ecx, [ecx + esi*2]
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xac]
add cl, 0x3e
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x58], cl
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 0xb
jb 0x434223
jmp 0x434278
mov cl, 1
cmp eax, dword [esp + 0x58]
je 0x434326
lea eax, [esp + 0x8c]
add eax, 8
jmp 0x434290
mov eax, dword [eax]
mov cl, byte [esp + 0x20]
mov byte [esp + 0x44], cl
mov byte [esp + 0x48], 0xd9
mov byte [esp + 0x49], 0xd8
mov byte [esp + 0x4a], 0xc2
mov byte [esp + 0x4b], 0xf6
mov byte [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 9
jae 0x43431d
jmp 0x4342ce
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x48]
mov esi, ecx
add esi, 0xadf7a692
lea ecx, [ecx + edx - 0x5208596e]
and esi, edx
add esi, esi
sub ecx, esi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xb0]
add cl, 2
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x48], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, 9
jb 0x4342ce
jmp 0x43431d
mov ecx, dword [esp + 0x48]
cmp eax, ecx
sete cl
test cl, 1
jne 0x43432d
jmp 0x43433f
mov byte [esp + 3], 1
mov dword [esp + 0x9c], 1
jmp 0x43434f
mov byte [esp + 3], 0
mov dword [esp + 0x9c], 1
mov al, byte [esp + 3]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret