Function at 0x420930
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [ebx], 0
mov dword [ebx + 4], 0
cmp esi, 0x200
jb 0x420ac5
mov eax, 0x5a4d
cmp word [edx], ax
jne 0x420a03
mov ecx, dword [edx + 0x3c]
cmp ecx, 0x1000
jae 0x420a03
lea eax, [ecx + 0x200]
cmp eax, esi
ja 0x420a03
test cl, 7
jne 0x420a03
add ecx, edx
cmp dword [ecx], 0x4550
jne 0x420a03
movzx eax, word [ecx + 4]
cmp eax, 0x1c4
ja 0x4209be
je 0x4209b7
sub eax, 0x14c
je 0x4209cc
sub eax, 0x74
je 0x4209b0
sub eax, 2
jne 0x420a03
mov eax, 0x3030501
jmp 0x4209d8
mov eax, 0x3030701
jmp 0x4209d8
cmp eax, 0x200
je 0x4209d3
cmp eax, 0x8664
jne 0x420a03
mov eax, 0x3030103
jmp 0x4209d8
mov eax, 0x3030401
mov edi, 0x400
cmp word [ecx + 0x14], di
ja 0x420a03
movzx ecx, word [ecx + 0x18]
mov edi, 0x10b
cmp cx, di
je 0x420b58
mov edi, 0x20b
cmp cx, di
je 0x420b58
cmp byte [edx + 6], 1
jne 0x420abd
cmp dword [edx], 0x464c457f
jne case.0x420a6c.4
movzx eax, byte [edx + 4]
sub eax, 1
je 0x420a2b
sub eax, 1
jne case.0x420a6c.4
movzx eax, byte [edx + 5]
sub eax, 1
je 0x420a54
sub eax, 1
jne case.0x420a6c.4
movzx ecx, byte [edx + 0x12]
lea esi, [eax + 1]
movzx eax, byte [edx + 0x13]
shl cx, 8
or cx, ax
movzx eax, cx
jmp 0x420a5a
movzx eax, word [edx + 0x12]
xor esi, esi
movzx eax, ax
add eax, 0xfffffffe
cmp eax, 0x3c
ja case.0x420a6c.4
movzx eax, byte [eax + 0x420c70]
jmp dword [eax*4 + 0x420c5c]
pop edi
mov eax, 0x3030103
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
pop ebp
ret
pop edi
mov eax, 0x3030805
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
pop ebp
ret
test esi, esi
je case.0x420a6c.4
pop edi
mov eax, 0x3030205
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
pop ebp
ret
test esi, esi
jne case.0x420a6c.4
mov eax, 0x3030501
mov dword [ebx], eax
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp esi, 0x200
jae case.0x420a6c.4
cmp esi, 0x2c
jae 0x420b9a
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
mov eax, dword [edx]
cmp eax, 0xfeedface
ja 0x420afe
je 0x420b09
cmp eax, 0xcefaedfe
je 0x420af2
cmp eax, 0xcffaedfe
jne 0x420b9a
mov eax, dword [edx + 4]
mov esi, 1
bswap eax
jmp 0x420b0e
cmp eax, 0xfeedfacf
jne 0x420b9a
mov eax, dword [edx + 4]
xor esi, esi
cmp eax, 0x12
ja 0x420b64
je 0x420b70
sub eax, 7
je 0x420b85
sub eax, 5
je 0x420b39
sub eax, 2
jne 0x420b9a
test esi, esi
je 0x420b9a
mov ecx, dword [edx + 0x10]
mov eax, 0x3030805
mov esi, dword [edx + 0x14]
bswap esi
bswap ecx
jmp 0x420b48
test esi, esi
jne 0x420b9a
mov ecx, dword [edx + 0x10]
mov eax, 0x3030501
mov esi, dword [edx + 0x14]
cmp esi, 0x1000000
ja 0x420b9a
cmp ecx, 0x40000
ja 0x420b9a
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
pop ebp
ret
sub eax, 0x1000007
je 0x420b85
sub eax, 0xb
jne 0x420b9a
test esi, esi
je 0x420b9a
mov ecx, dword [edx + 0x10]
mov eax, 0x3030205
mov esi, dword [edx + 0x14]
bswap esi
bswap ecx
jmp 0x420b48
mov ecx, dword [edx + 0x10]
mov eax, 0x3030103
test esi, esi
je 0x420b45
mov esi, dword [edx + 0x14]
bswap esi
bswap ecx
jmp 0x420b48
cmp dword [edx], 0x46464952
jne 0x420ace
cmp dword [edx + 8], 0x45564157
jne 0x420ace
cmp dword [edx + 0xc], 0x20746d66
jne 0x420ace
mov ecx, dword [edx + 0x10]
lea eax, [ecx - 0x10]
cmp eax, 2
ja 0x420ace
cmp word [edx + 0x14], 1
jne 0x420ace
movzx eax, word [edx + 0x22]
test al, 7
jne 0x420ace
movzx edi, word [edx + 0x16]
shr eax, 3
imul edi, eax
test edi, edi
je 0x420ace
cmp edi, 0x100
ja 0x420ace
add ecx, 0x14
xor esi, esi
lea esp, [esp]
lea eax, [ecx + 8]
cmp eax, dword [ebp + 0xc]
ja 0x420ace
cmp dword [ecx + edx], 0x61746164
je 0x420c46
mov eax, dword [ecx + edx + 4]
cmp eax, 0x10000
ja 0x420ace
add ecx, 8
inc esi
add ecx, eax
cmp esi, 0xa
jl 0x420c10
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
mov dword [ebx + 4], edi
mov eax, 1
pop edi
pop esi
mov dword [ebx], 3
pop ebx
pop ebp
ret