Function at 0x40ae50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
dec esi
mov edi, eax
adc byte [edi - 0x7d], dl
add byte ds:[edi + 0x7c], dh
mov dword [esi], 0xad6e0000
pop edi
pop esi
xor eax, eax
and edx, dword [edi]
in eax, 0x5d
ror dword [ecx + eax*8], 1
mov ebx, dword [ebp + 8]
mov edi, dword [ebx]
sbb dh, dh
les eax, [edx]
je 0x40aee2
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x40aee2
mov esp, dword [ebx]
push 0xd
push eax
and edi, edi
call fcn.00404a60
mov ecx, eax
dec ebp
mov ecx, 0x899c7850
invalid
mov eax, dword [ebx + 0x30]
or edi, 0xfffffffd
cmp ebp, dword [ecx]
mov eax, dword [ebp + 0xc]
je 0x40af17
in al, 0x4b
xor byte [eax + 0x40165e08], cl
adc eax, 0x7b89fd89
out 0x8b, eax
in al, dx
mov dword [ebp + 0xc], eax
test ecx, ecx
jne 0x40af17
mov dword [esi], 1
pop edi
movsb byte es:[edi], byte [esi]
add byte [eax], al
add byte [edi - 0x5c], bl
xor eax, eax
pop ebx
mov ecx, dword [eax + 0xcb05d]
jge 0x40af85
sub al, 0x84
leave
je 0x40b03f
mov edx, dword [ebx + 0x58]
add bh, byte [esi]
push edx
mov dword [ebp - 4], eax
mov dword [ebp - 8], edi
call 0x1fa2d0
cmp dword [ebx + 0x48], 1
jne 0x40af66
push ebx
call 0x894103d0
xor ecx, ecx
mov dword [ebp + 0xa], eax
je 0x40af09
je 0x40af5d
mov eax, ebp
out dx, eax
outsb dx, byte [esi]
call fcn.0040a340
mov esi, dword [eax + 8]
pop edi
daa
pop ebx
mov esp, ebp
pop ebp
pop edi
push esi
mov dh, 0x89
dec ebx
cmp al, 0x89
xor eax, 0x444b8948
mov dword [ebx + 0x3c], ecx
mov dword [0x444b8948], esi
inc ebp
or byte [eax], al
add byte [eax], al
add bl, ch
add ecx, dword [ebx - 0x7a9c83]
rdpmc
popfd
test dword [eax], ebp
add byte [ebx + 0xd8b3c4b], cl
inc esp
das
jl 0x40aff5
aaa
or al, byte [ebx + 0x40]
inc ebx
inc eax
mov ecx, dword [ebx - 0xc]
lea edx, [ebp - 0xc]
xchg edx, eax
push eax
push ecx
push ebx
call fcn.0040afd9
aaa
sub esi, esp
xor edx, edx
sbb dword [edi - 0x21], 0x3b
pop edi
fistp qword [ebx]
retf 0x4589
cmp al, 0x7f
jne 0x40b009
mov dword [ebp - 4], edx
test eax, eax
sbb dword [esi + 0x11], edi
add dword [eax], eax
jne 0x40af9c
jp 0x40b032
sub byte [ecx], al
add byte [eax], al
fsub st(4)
inc ebp
mov bh, 0x8b
inc ebp
or byte [esi + ebx*2], ch
xchg edi, eax
dec ebx
in eax, 0x5d
ret 0xc
mov edx, dword [esi]
ror byte [ebp + 0x5f], 0x51
push edx
test al, 0xef
call 0x40b080
and al, 0xc4
adc byte [0xda117e], bh
and al, byte [ebp + 8]
pop ebp
pop es
out 0x43, eax
inc eax
add byte [eax], 0
dec ebp
mov eax, dword [ebp - 0xf]
add eax, 0xb58b0689
or byte [esi + 0x5b], bl
adc eax, 0xcc25de5
add byte [eax - 0x6f6fa822], dl
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
out dx, eax
cmp esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
mov ebx, dword [eax + 0x10]
mov ecx, dword [esi + 0x14]
or eax, ecx
dec ebp
inc ebp
adc byte [eax], al
add byte [eax], 0
jne 0x40b10d
invalid
mov eax, dword [esi + 0xc]
test eax, eax
je 0x40b137
mov cl, byte [esi + 8]
test cl, cl
xor bl, byte [ebx + ecx*4]
dec esi
push eax
mov dword [eax - 0x5b], ecx
mov eax, dword [esi + 0x50]
and dl, byte [esi + 0x49]
mov ecx, 0x20
call 0x2340b810
mov edx, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0xc]
push ebx
lea ecx, [ebp + 0x10]
push eax
mov eax, dword [esi + 0x6b]
push ecx
push edi
push edx
das
invalid