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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push esi
mov esi, dword [0x464b58]
lea eax, [ebp - 0x38]
push 0x38
push 0
inc esi
push eax
mov dword [0x464b58], esi
call fcn.00434f70
add esp, 0xc
mov dword [ebp - 0x3c], 3
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], str.Optional_Header:
push eax
push 0
push 0x1007
push dword [0x464b50]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [0x465a24], 0
mov eax, dword [0x464c70]
pop esi
movzx eax, word [eax + 0x18]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x18]
push eax
push 0x449efc
je 0x40494f
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, byte [eax + 0x1a]
push eax
mov eax, dword [0x465a20]
movzx eax, byte [eax + 0x1a]
push eax
push 0x449f04
call fcn.00403aa0
mov eax, dword [0x464c70]
movzx eax, byte [eax + 0x1b]
push eax
mov eax, dword [0x465a20]
movzx eax, byte [eax + 0x1b]
push eax
push 0x449f1c
call fcn.00403aa0
mov eax, dword [0x464c70]
push dword [eax + 0x1c]
mov eax, dword [0x465a20]
push dword [eax + 0x1c]
push 0x449f34
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x20]
mov eax, dword [0x465a20]
push dword [eax + 0x20]
push str.Size_Of_Initialized_Data
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x24]
mov eax, dword [0x465a20]
push dword [eax + 0x24]
push str.Size_Of_Uninitialized_Data
call fcn.00403ba0
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x28]
mov eax, dword [0x465a20]
push dword [eax + 0x28]
push str.Address_Of_Entry_Point
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x2c]
mov eax, dword [0x465a20]
push dword [eax + 0x2c]
push 0x449f94
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x34]
push dword [eax + 0x30]
mov eax, dword [0x465a20]
push dword [eax + 0x34]
push dword [eax + 0x30]
push 0x449fa4
call fcn.00403d50
mov eax, dword [0x464c70]
push dword [eax + 0x38]
mov eax, dword [0x465a20]
push dword [eax + 0x38]
push 0x449fb0
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x3c]
mov eax, dword [0x465a20]
push dword [eax + 0x3c]
push 0x449fc4
call fcn.00403ba0
mov eax, dword [0x464c70]
add esp, 0x44
movzx eax, word [eax + 0x40]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x40]
push eax
push 0x449fd4
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x42]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x42]
push eax
push 0x449fe8
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x44]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x44]
push eax
push 0x449ffc
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x46]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x46]
push eax
push 0x44a010
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x48]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x48]
push eax
push str.Major_Subsystem_Version
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x4a]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x4a]
push eax
push 0x44a03c
call fcn.00403e70
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x4c]
mov eax, dword [0x465a20]
push dword [eax + 0x4c]
push 0x44a054
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x50]
mov eax, dword [0x465a20]
push dword [eax + 0x50]
push 0x44a068
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x54]
mov eax, dword [0x465a20]
push dword [eax + 0x54]
push 0x44a078
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x58]
mov eax, dword [0x465a20]
push dword [eax + 0x58]
push str.CheckSum
call fcn.00403ba0
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x5c]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x5c]
push eax
push 0x44a094
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x5e]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x5e]
push eax
push str.Dll_Characteristics
call fcn.00403e70
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x64]
push dword [eax + 0x60]
mov eax, dword [0x465a20]
push dword [eax + 0x64]
push dword [eax + 0x60]
push 0x44a0b4
call fcn.00403d50
mov eax, dword [0x464c70]
push dword [eax + 0x6c]
push dword [eax + 0x68]
mov eax, dword [0x465a20]
push dword [eax + 0x6c]
push dword [eax + 0x68]
push 0x44a0cc
call fcn.00403d50
mov eax, dword [0x464c70]
push dword [eax + 0x64]
push dword [eax + 0x60]
mov eax, dword [0x465a20]
push dword [eax + 0x74]
push dword [eax + 0x70]
push 0x44a0e4
call fcn.00403d50
mov eax, dword [0x464c70]
push dword [eax + 0x7c]
push dword [eax + 0x78]
mov eax, dword [0x465a20]
push dword [eax + 0x7c]
push dword [eax + 0x78]
push 0x44a0fc
call fcn.00403d50
mov eax, dword [0x464c70]
add esp, 0x50
push dword [eax + 0x80]
mov eax, dword [0x465a20]
push dword [eax + 0x80]
push 0x44a110
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x84]
mov eax, dword [0x465a20]
push dword [eax + 0x84]
push str.Number_Of_RvaAndSizes
call fcn.00403ba0
add esp, 0x18
mov esp, ebp
pop ebp
ret
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, byte [eax + 0x1a]
push eax
mov eax, dword [0x465a20]
movzx eax, byte [eax + 0x1a]
push eax
push 0x449f04
call fcn.00403aa0
mov eax, dword [0x464c70]
movzx eax, byte [eax + 0x1b]
push eax
mov eax, dword [0x465a20]
movzx eax, byte [eax + 0x1b]
push eax
push 0x449f1c
call fcn.00403aa0
mov eax, dword [0x464c70]
push dword [eax + 0x1c]
mov eax, dword [0x465a20]
push dword [eax + 0x1c]
push 0x449f34
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x20]
mov eax, dword [0x465a20]
push dword [eax + 0x20]
push str.Size_Of_Initialized_Data
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x24]
mov eax, dword [0x465a20]
push dword [eax + 0x24]
push str.Size_Of_Uninitialized_Data
call fcn.00403ba0
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x28]
mov eax, dword [0x465a20]
push dword [eax + 0x28]
push str.Address_Of_Entry_Point
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x2c]
mov eax, dword [0x465a20]
push dword [eax + 0x2c]
push 0x449f94
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x30]
mov eax, dword [0x465a20]
push dword [eax + 0x30]
push 0x44a138
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x34]
mov eax, dword [0x465a20]
push dword [eax + 0x34]
push 0x449fa4
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x38]
mov eax, dword [0x465a20]
push dword [eax + 0x38]
push 0x449fb0
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x3c]
mov eax, dword [0x465a20]
push dword [eax + 0x3c]
push 0x449fc4
call fcn.00403ba0
mov eax, dword [0x464c70]
add esp, 0x48
movzx eax, word [eax + 0x40]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x40]
push eax
push 0x449fd4
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x42]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x42]
push eax
push 0x449fe8
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x44]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x44]
push eax
push 0x449ffc
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x46]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x46]
push eax
push 0x44a010
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x48]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x48]
push eax
push str.Major_Subsystem_Version
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x4a]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x4a]
push eax
push 0x44a03c
call fcn.00403e70
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x4c]
mov eax, dword [0x465a20]
push dword [eax + 0x4c]
push 0x44a054
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x50]
mov eax, dword [0x465a20]
push dword [eax + 0x50]
push 0x44a068
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x54]
mov eax, dword [0x465a20]
push dword [eax + 0x54]
push 0x44a078
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x58]
mov eax, dword [0x465a20]
push dword [eax + 0x58]
push str.CheckSum
call fcn.00403ba0
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x5c]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x5c]
push eax
push 0x44a094
call fcn.00403e70
mov eax, dword [0x464c70]
movzx eax, word [eax + 0x5e]
push eax
mov eax, dword [0x465a20]
movzx eax, word [eax + 0x5e]
push eax
push str.Dll_Characteristics
call fcn.00403e70
mov eax, dword [0x464c70]
add esp, 0x48
push dword [eax + 0x60]
mov eax, dword [0x465a20]
push dword [eax + 0x60]
push 0x44a0b4
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x64]
mov eax, dword [0x465a20]
push dword [eax + 0x64]
push 0x44a0cc
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x60]
mov eax, dword [0x465a20]
push dword [eax + 0x68]
push 0x44a0e4
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x6c]
mov eax, dword [0x465a20]
push dword [eax + 0x6c]
push 0x44a0fc
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x70]
mov eax, dword [0x465a20]
push dword [eax + 0x70]
push 0x44a110
call fcn.00403ba0
mov eax, dword [0x464c70]
push dword [eax + 0x74]
mov eax, dword [0x465a20]
push dword [eax + 0x74]
push str.Number_Of_RvaAndSizes
call fcn.00403ba0
add esp, 0x48
mov esp, ebp
pop ebp
ret