Function at 0x433d70
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, 0xf8
mov al, byte [esp + 0x40]
mov byte [esp + 0x44], al
mov byte [esp + 0xb0], 0x6c
mov byte [esp + 0xb1], 0x6d
mov byte [esp + 0xb2], 0x72
mov byte [esp + 0xb3], 0xb3
mov dword [esp + 0xbb], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
jae 0x433e2f
jmp 0x433ddb
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0xb0]
mov edx, eax
add edx, 0xafc6940e
lea eax, [eax + ecx - 0x50396bf2]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xd8]
add al, 0x9e
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0xb0], al
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 0xf
jb 0x433ddb
jmp 0x433e2f
mov al, byte [esp + 0x3c]
mov byte [esp + 0x48], al
mov byte [esp + 0x70], 0x6c
mov byte [esp + 0x71], 0x6d
mov byte [esp + 0x72], 0x72
mov byte [esp + 0x73], 0xb3
mov dword [esp + 0x7b], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xf
jae 0x433ec4
jmp 0x433e76
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x70]
mov edx, eax
add edx, 0xafc6940e
lea eax, [eax + ecx - 0x50396bf2]
and edx, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
add al, 0x9e
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x70], al
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, 0xf
jb 0x433e76
jmp 0x433ec4
mov eax, dword [esp + 0x70]
xor ecx, ecx
cpuid
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x38]
mov byte [esp + 0x4c], cl
mov byte [esp + 0xa0], 0x86
mov byte [esp + 0xa1], 0x8c
mov byte [esp + 0xa2], 0x91
mov byte [esp + 0xa3], 0x85
mov byte [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 9
jae 0x433f96
jmp 0x433f3d
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + ecx + 0xa0]
mov ecx, esi
add ecx, 0xdc
and ecx, edx
mov edi, 0x983feb23
sub edi, esi
or edi, edx
not edi
add edi, edx
sub edi, ecx
mov dword [esp + 0xe0], edi
mov ecx, dword [esp + 0xe0]
add cl, 0xfc
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0xa0], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 9
jb 0x433f3d
jmp 0x433f96
mov edx, dword [esp + 0xa0]
mov cl, 1
cmp eax, edx
je 0x434272
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x34]
mov byte [esp + 0x50], cl
mov byte [esp + 0x90], 0xc3
mov byte [esp + 0x91], 0x40
mov byte [esp + 0x92], 0x4c
mov byte [esp + 0x93], 0x3e
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xc
jae 0x43405e
jmp 0x433fff
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x90]
mov esi, ecx
add esi, 0xbdff2aff
lea ecx, [ecx + edx - 0x4200d501]
and esi, edx
add esi, esi
mov edx, esi
xor edx, ecx
not esi
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe4]
add cl, 7
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x90], cl
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 0xc
jb 0x433fff
jmp 0x43405e
mov cl, 1
cmp eax, dword [esp + 0x90]
je 0x434272
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x30]
mov byte [esp + 0x54], cl
mov byte [esp + 0x60], 0xaa
mov byte [esp + 0x61], 0xb4
mov byte [esp + 0x62], 0xc4
mov byte [esp + 0x63], 0xce
mov dword [esp + 0x6b], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 0xf
jae 0x434108
jmp 0x4340bb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 0x60]
mov esi, ecx
add esi, edx
add ecx, 0x7c
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x163ee17c
mov dword [esp + 0xe8], esi
mov ecx, dword [esp + 0xe8]
add cl, 0x9c
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x60], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, 0xf
jb 0x4340bb
jmp 0x434108
mov cl, 1
cmp eax, dword [esp + 0x60]
je 0x434272
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x58], cl
mov byte [esp + 0x80], 0x68
mov byte [esp + 0x81], 0x13
mov byte [esp + 0x82], 0x41
mov byte [esp + 0x83], 0x4b
mov dword [esp + 0x87], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0xb
jae 0x4341bd
jmp 0x43416c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movzx edx, byte [esp + edx + 0x80]
mov esi, ecx
add esi, 0xb08ee823
add ecx, 0x23
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xec], esi
mov ecx, dword [esp + 0xec]
add cl, 0xb
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x80], cl
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xb
jb 0x43416c
jmp 0x4341bd
mov cl, 1
cmp eax, dword [esp + 0x80]
je 0x434272
mov eax, dword [esp + 0xcc]
mov cl, byte [esp + 0x28]
mov byte [esp + 0x5c], cl
mov byte [esp + 0x20], 0xad
mov byte [esp + 0x21], 0xac
mov byte [esp + 0x22], 0xda
mov byte [esp + 0x23], 0xc6
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jae 0x43426b
jmp 0x43420a
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx edi, byte [esp + ecx + 0x20]
mov edx, esi
add edx, 0x47e1dd90
lea ecx, [esi + edi + 0x47e1dd90]
and edx, edi
add esi, 0x90
and esi, edi
add edx, esi
mov esi, edx
xor esi, ecx
not edx
and ecx, edx
add ecx, ecx
sub ecx, esi
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xf0]
add cl, 0x10
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 0x20], cl
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jb 0x43420a
jmp 0x43426b
cmp eax, dword [esp + 0x20]
sete cl
test cl, 1
jne 0x434279
jmp 0x43428b
mov byte [esp + 3], 1
mov dword [esp + 0xd4], 1
jmp 0x43429d
mov byte [esp + 3], 0
mov dword [esp + 0xd4], 1
jmp 0x43429d
jmp 0x43429f
mov al, byte [esp + 3]
jmp 0x4342a5
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret