Function at 0x4333e0
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, 0x100
mov al, byte [esp + 0x38]
mov byte [esp + 0x3c], al
mov byte [esp + 0xc8], 0xa6
mov byte [esp + 0xc9], 0xa5
mov byte [esp + 0xca], 0xa4
mov byte [esp + 0xcb], 0x6b
mov byte [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 9
jae 0x43348f
jmp 0x43343d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0xc8]
mov edx, eax
add edx, ecx
add eax, 0x65
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x3048f165
mov dword [esp + 0xe0], edx
mov eax, dword [esp + 0xe0]
add al, 0x3d
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0xc8], al
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp eax, 9
jb 0x43343d
jmp 0x43348f
mov al, byte [esp + 0x34]
mov byte [esp + 0x40], al
mov byte [esp + 0xa8], 0xa6
mov byte [esp + 0xa9], 0xa5
mov byte [esp + 0xaa], 0xa4
mov byte [esp + 0xab], 0x6b
mov byte [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 9
jae 0x43352f
jmp 0x4334dd
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0xa8]
mov edx, eax
add edx, ecx
add eax, 0x65
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x3048f165
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xe4]
add al, 0x3d
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0xa8], al
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp eax, 9
jb 0x4334dd
jmp 0x43352f
mov eax, dword [esp + 0xa8]
xor ecx, ecx
cpuid
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0xc0]
mov cl, byte [esp + 0x30]
mov byte [esp + 0x44], cl
mov byte [esp + 0x98], 0x7c
mov byte [esp + 0x99], 0x76
mov byte [esp + 0x9a], 0x69
mov byte [esp + 0x9b], 0x71
mov byte [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 9
jae 0x43360a
jmp 0x4335ab
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x98]
mov esi, ecx
add esi, edx
add ecx, 0xa5
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x3fd674a5
mov dword [esp + 0xe8], esi
mov edx, dword [esp + 0xe8]
mov ecx, edx
or ecx, 0x7c
and edx, 0x7c
add ecx, edx
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x98], cl
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, 9
jb 0x4335ab
jmp 0x43360a
mov edx, dword [esp + 0x98]
mov cl, 1
cmp eax, edx
je 0x4338dc
mov eax, dword [esp + 0xc0]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x48], cl
mov byte [esp + 0x88], 0xf3
mov byte [esp + 0x89], 0xf6
mov byte [esp + 0x8a], 0xe6
mov byte [esp + 0x8b], 0xf0
mov word [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xa
jae 0x4336da
jmp 0x433672
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x88]
mov esi, ecx
add esi, 0x87dee618
mov edi, edx
not edi
mov ebx, esi
or ebx, edi
lea edi, [edx + ebx + 1]
and esi, edx
mov ebx, edi
and ebx, esi
xor edi, esi
lea ecx, [ecx + edx - 0x782119e8]
lea edx, [edi + ebx*2]
sub ecx, edx
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0xec]
add cl, 0x58
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x88], cl
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 0xa
jb 0x433672
jmp 0x4336da
mov cl, 1
cmp eax, dword [esp + 0x88]
je 0x4338dc
mov eax, dword [esp + 0xc0]
mov cl, byte [esp + 0x28]
mov byte [esp + 0x4c], cl
mov byte [esp + 0x78], 0xf8
mov byte [esp + 0x79], 0xce
mov byte [esp + 0x7a], 0xde
mov byte [esp + 0x7b], 0xd0
mov word [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
jae 0x433788
jmp 0x433731
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx esi, byte [esp + ecx + 0x78]
mov ecx, edx
add ecx, 0x51
mov edi, esi
not edi
or ecx, edi
mov edi, 0x9ec39ae
sub edi, edx
or edi, esi
add ecx, edi
mov edx, 0xfffffffe
sub edx, ecx
mov dword [esp + 0xf0], edx
mov ecx, dword [esp + 0xf0]
add cl, 0xc9
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x78], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, 0xa
jb 0x433731
jmp 0x433788
mov cl, 1
cmp eax, dword [esp + 0x78]
je 0x4338dc
mov eax, dword [esp + 0xc0]
mov cl, byte [esp + 0x24]
mov byte [esp + 0x50], cl
mov byte [esp + 0x68], 0xc8
mov byte [esp + 0x69], 0xd3
mov byte [esp + 0x6a], 0xe1
mov byte [esp + 0x6b], 0xeb
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0xc
jae 0x43382f
jmp 0x4337da
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movzx edx, byte [esp + edx + 0x68]
mov esi, ecx
and esi, 0x2acfc053
xor ecx, 0x2acfc053
lea ecx, [ecx + esi*2]
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0xf4]
add cl, 0xbb
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x68], cl
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xc
jb 0x4337da
jmp 0x43382f
mov cl, 1
cmp eax, dword [esp + 0x68]
je 0x4338dc
mov eax, dword [esp + 0xc0]
mov cl, byte [esp + 0x20]
mov byte [esp + 0x54], cl
mov byte [esp + 0x58], 0xd9
mov byte [esp + 0x59], 0xd8
mov byte [esp + 0x5a], 0xc2
mov byte [esp + 0x5b], 0xf6
mov byte [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xd
jae 0x4338d5
jmp 0x433886
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movzx edx, byte [esp + edx + 0x58]
mov esi, ecx
add esi, 0x6d192e52
lea ecx, [ecx + edx + 0x6d192e52]
and esi, edx
add esi, esi
sub ecx, esi
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xf8]
add cl, 0xc2
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 0x58], cl
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xd
jb 0x433886
jmp 0x4338d5
cmp eax, dword [esp + 0x58]
sete cl
test cl, 1
jne 0x4338e3
jmp 0x4338f5
mov byte [esp + 3], 1
mov dword [esp + 0xdc], 1
jmp 0x433907
mov byte [esp + 3], 0
mov dword [esp + 0xdc], 1
jmp 0x433907
mov al, byte [esp + 3]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret