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

Disassembly:
cmp eax, 0x4d483c36
cmp byte [edi], bh
dec ebp
add esp, 4
jmp 0x40ae47
pop esi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edi
push eax
add esp, 4
add edi, 0xc9a7
call 0x40ae71
add byte [edi + 0x40], cl
cmp ecx, dword [eax + 0x46]
aas
inc esi
inc edx
dec ebx
add esp, 4
pop edi
push edi
xor edi, 0x2eea
xor edi, 0xf3ce
xor edi, 0x2669
pop edi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40aeb9
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40b1aa
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40aee1
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40b1aa
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40af13
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40b1aa
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40af38
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40b1aa
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40af92
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40b19e
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40b002
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40b0b4
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40b0b4
push ebx
sub ebx, 0x14f81
pop ebx
push edx
push ecx
add esp, 4
and edx, 0x4040
or edx, 0xd475
xor edx, 0xb2e2
pop edx
push ecx
push edi
add esp, 4
jmp 0x40b05a
add ecx, 0x14601
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40b0a6
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40b0ad
jmp 0x40aff3
jmp 0x40b0b4
push ecx
call 0x40b0c3
add byte [edi + 0x3d], al
cmp al, 0x4c
dec ebx
inc eax
add esp, 4
xor ecx, 0x138dd
and ecx, 0x11d9a
call 0x40b0e2
add byte [ebp + 0x37], cl
inc ebx
aas
dec esp
cmp al, 0x4e
dec eax
aas
add esp, 4
pop ecx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x40b113
mov dword [ebp - 0xc6c], 0
jmp 0x40b182
push ecx
add ecx, 0x174ee
jmp 0x40b120
sub ecx, 0x4433
pop ecx
push eax
push edi
add esp, 4
add eax, 0x97b1
sub eax, 0x1294e
pop eax
push eax
push ecx
add esp, 4
and eax, 0x3b63
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x40b178
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40b182
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x40b199
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x40b1aa
jmp 0x40af83
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push esi
push edi
add esp, 4
and esi, 0x14aa3
or esi, 0xfdee
sub esi, 0xb71a
add esi, 0x158ee
pop esi
push edi
add edi, 0x148d1
add edi, 0x1115a
and edi, 0xb1d8
pop edi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40b25b
push ebx
push ecx
add esp, 4
and ebx, 0x75ef
jmp 0x40b226
xor ebx, 0x6302
or ebx, 0x4c8
pop ebx
push esi
add esi, 0x17bfc
and esi, 0x2056
add esi, 0xb5f7
pop esi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40b278
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x40b2d4
push esi
sub esi, 0x1be4
pop esi
push edx
and edx, 0xfcd5
add edx, 0x10505
pop edx
push eax
or eax, 0x13bea
pop eax
push eax
sub eax, 0x9065
or eax, 0x13b75
and eax, 0x10d6e
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40b269
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
invalid
xchg ebp, eax
in al, 0xe6