Function at 0x4037e0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
cmp dword [0x469cc0], 0
push ebx
push esi
push edi
jne 0x4037f7
call fcn.00403624
cmp dword [ebp + 8], 0
jne 0x403804
xor eax, eax
jmp 0x403d9c
mov edx, dword [ebp + 8]
mov dword [ebp - 8], edx
push 0x40
mov ecx, dword [ebp - 8]
push ecx
call sub.KERNEL32.DLL_IsBadReadPtr
dec eax
je 0x403822
mov eax, dword [ebp - 8]
cmp word [eax], 0x5a4d
je 0x403829
xor eax, eax
jmp 0x403d9c
mov edx, dword [ebp - 8]
mov ebx, dword [edx + 0x3c]
add ebx, dword [ebp - 8]
push 0xf8
push ebx
call sub.KERNEL32.DLL_IsBadReadPtr
dec eax
je 0x403848
cmp dword [ebx], 0x4550
je 0x40384f
xor eax, eax
jmp 0x403d9c
cmp word [ebx + 0x14], 0xe0
jne 0x40385f
cmp word [ebx + 0x18], 0x10b
je 0x403869
mov eax, 4
jmp 0x403d9c
cmp word [ebx + 6], 1
jae 0x403877
xor eax, eax
jmp 0x403d9c
mov edx, dword [ebp - 8]
mov ebx, dword [edx + 0x3c]
add ebx, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov edx, dword [ebx + 0x80]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x4038a0
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
jmp 0x4038aa
mov eax, 8
jmp 0x403d9c
mov edx, dword [ebp - 0xc]
cmp dword [edx + 4], 0
jne 0x4038c0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0xc], 0
je 0x403d97
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0xc]
add ebx, dword [ebp - 4]
xor eax, eax
mov dword [ebp - 0x10], eax
push ebx
call sub.KERNEL32.DLL_lstrlenA
mov esi, eax
mov edi, ebx
push esi
push str.Kernel32.dll
push edi
call fcn.00405594
add esp, 0xc
test eax, eax
jne 0x4038f2
mov dword [ebp - 0x10], 1
push ebx
call sub.KERNEL32.DLL_lstrlenA
mov esi, eax
mov edi, ebx
push esi
push str.User32.dll
push edi
call fcn.00405594
add esp, 0xc
test eax, eax
jne 0x403923
mov dword [ebp - 0x10], 2
jmp 0x403923
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 8]
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ecx + 0x10]
add ebx, dword [ebp - 8]
jmp 0x403d81
mov edx, 0x80000000
test eax, edx
jne 0x403d72
jmp 0x403ba4
cmp dword [ebp - 0x10], 1
jne 0x403d72
mov edx, dword [ebx]
cmp edx, dword [0x469cb4]
jne 0x403bc0
mov ecx, dword [0x4696f8]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469cb8]
jne 0x403bd2
mov edx, dword [0x4696fc]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c5c]
jne 0x403be3
mov eax, dword [0x4696f0]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c60]
jne 0x403bf5
mov ecx, dword [0x4696f4]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469c64]
jne 0x403c07
mov edx, dword [0x469704]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c90]
jne 0x403c18
mov eax, dword [0x469718]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c94]
jne 0x403c2a
mov ecx, dword [0x469714]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469cac]
jne 0x403c3c
mov edx, dword [0x469748]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469cb0]
jne 0x403c4d
mov eax, dword [0x46974c]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469ca8]
jne 0x403c5f
mov ecx, dword [0x46972c]
mov dword [ebx], ecx
cmp byte [ebp + 0xc], 1
jae 0x403d72
mov eax, dword [ebx]
cmp eax, dword [0x469c68]
jne 0x403c7b
mov edx, dword [0x469708]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c6c]
jne 0x403c8c
mov eax, dword [0x469710]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c70]
jne 0x403c9e
mov ecx, dword [0x46970c]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469c74]
jne 0x403cb0
mov edx, dword [0x4696d4]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c78]
jne 0x403cc1
mov eax, dword [0x4696ec]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c7c]
jne 0x403cd3
mov ecx, dword [0x4696e8]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469c80]
jne 0x403ce5
mov edx, dword [0x4696d8]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c84]
jne 0x403cf6
mov eax, dword [0x4696dc]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c88]
jne 0x403d08
mov ecx, dword [0x4696e4]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469c8c]
jne 0x403d1a
mov edx, dword [0x4696e0]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469c98]
jne 0x403d2b
mov eax, dword [0x46971c]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469c9c]
jne 0x403d3d
mov ecx, dword [0x469720]
mov dword [ebx], ecx
mov eax, dword [ebx]
cmp eax, dword [0x469ca0]
jne 0x403d4f
mov edx, dword [0x469724]
mov dword [ebx], edx
mov ecx, dword [ebx]
cmp ecx, dword [0x469ca4]
jne 0x403d60
mov eax, dword [0x469728]
mov dword [ebx], eax
mov edx, dword [ebx]
cmp edx, dword [0x469cbc]
jne 0x403d72
mov ecx, dword [0x469730]
mov dword [ebx], ecx
test ebx, ebx
jne 0x403d7a
xor eax, eax
jmp 0x403d9c
add ebx, 4
add dword [ebp - 0x14], 4
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
test eax, eax
jne 0x40393d
add dword [ebp - 0xc], 0x14
jmp 0x4038aa
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret