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

Disassembly:
sub esp, 0x70
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x14], esi
cmp edi, ebx
je 0x42738d
mov eax, dword [0x9e84d0]
mov ecx, dword [0x9f56e0]
cmp eax, dword [ecx]
jae 0x42737b
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + eax*4]
cmp esi, ebx
je 0x42737b
mov eax, dword [esi]
mov ecx, edi
call fcn.00457970
test al, al
jne 0x427387
mov ebx, 0x9e84d0
call fcn.00401620
mov esi, eax
mov dword [esp + 0x14], esi
xor ebx, ebx
lea edx, [esp + 0x38]
push 0x40
mov eax, edx
push ebx
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x40], edx
call fcn.0065b340
add esp, 0xc
test byte [0x9e8474], 2
je 0x4273d7
push esi
lea eax, [esp + 0x2c]
call fcn.00427290
add esp, 4
cmp esi, ebx
je 0x4273ee
mov ecx, dword [esi + 4]
cmp dword [ecx], ebx
jbe 0x4273ee
push esi
xor ebx, ebx
lea eax, [esp + 0x2c]
call fcn.004288d0
cmp dword [esp + 0x28], 0
jne 0x427404
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x38]
cmp eax, edx
jmp 0x427582
mov ecx, dword [esp + 0x84]
push 0
push 0
push 0x800
push ecx
call dword [sym.imp.USER32.dll_AppendMenuW]
call fcn.00426c40
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0x258
mov dword [esp + 0x1c], eax
cmp eax, 0xa
jbe 0x42743d
mov dword [esp + 0x1c], 0xa
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
jbe 0x427578
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov ebp, dword [edx + eax*4]
mov eax, dword [0x9e84d0]
mov ecx, dword [0x9f56e0]
cmp eax, dword [ecx]
jae 0x4274b8
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x4274b8
mov eax, dword [esi]
cmp eax, ebp
je 0x4274c6
test eax, eax
je 0x4274b8
test ebp, ebp
je 0x4274b8
mov ecx, ebp
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4274aa
test dx, dx
je 0x4274a6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4274aa
add eax, 4
add ecx, 4
test dx, dx
jne 0x427484
xor eax, eax
jmp 0x4274af
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4274c6
mov ebx, 0x9e84d0
mov edi, ebp
call fcn.00401620
mov esi, eax
mov edx, dword [esi + 4]
cmp dword [edx], 1
mov edi, dword [esp + 0x84]
sete bl
mov byte [esp + 0x20], bl
test bl, bl
jne 0x4274e6
call dword [sym.imp.USER32.dll_CreateMenu]
mov edi, eax
cmp esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
sete al
movzx ecx, al
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
push esi
push edi
call fcn.00427180
add esp, 0x14
test bl, bl
jne 0x427565
cmp esi, dword [esp + 0x14]
jne 0x42752d
mov eax, str.Current_file
call fcn.0044a3e0
mov ecx, dword [esp + 0x84]
push eax
push edi
push 0x10
push ecx
call dword [sym.imp.USER32.dll_AppendMenuW]
jmp 0x427565
mov edx, ebp
call fcn.00454f40
mov ecx, eax
push 0x988504
mov eax, 0x9241d4
call fcn.00458370
mov edx, dword [esp + 0x88]
add esp, 4
mov esi, eax
push esi
push edi
push 0x10
push edx
call dword [sym.imp.USER32.dll_AppendMenuW]
push esi
call fcn.00658a01
add esp, 4
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jb 0x427450
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x38]
cmp eax, ecx
je 0x4275a4
mov ecx, dword [esp + 0x78]
push eax
test ecx, ecx
jne 0x42759d
call fcn.00658a01
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret