Function at 0x4733b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [ebp - 4], edi
mov dword [ebx], 0
mov dword [ebx + 4], 0
cmp edi, 0x200
jb 0x473614
mov eax, 0x5a4d
cmp word [esi], ax
jne 0x473485
mov ecx, dword [esi + 0x3c]
cmp ecx, 0x1000
jae 0x473485
lea eax, [ecx + 0x200]
cmp eax, edi
ja 0x473485
test cl, 7
jne 0x473485
add ecx, esi
cmp dword [ecx], 0x4550
jne 0x473485
movzx eax, word [ecx + 4]
cmp eax, 0x1c4
ja 0x473440
je 0x473439
sub eax, 0x14c
je 0x47344e
sub eax, 0x74
je 0x473432
sub eax, 2
jne 0x473485
mov eax, 0x3030501
jmp 0x47345a
mov eax, 0x3030701
jmp 0x47345a
cmp eax, 0x200
je 0x473455
cmp eax, 0x8664
jne 0x473485
mov eax, 0x3030103
jmp 0x47345a
mov eax, 0x3030401
mov edx, 0x400
cmp word [ecx + 0x14], dx
ja 0x473485
movzx ecx, word [ecx + 0x18]
mov edx, 0x10b
cmp cx, dx
je 0x473603
mov edx, 0x20b
cmp cx, dx
je 0x473603
cmp edi, 0x200
jb 0x473614
cmp byte [esi + 6], 1
jne case.0x4734fa.4
cmp dword [esi], 0x464c457f
jne case.0x4734fa.4
movzx eax, byte [esi + 4]
sub eax, 1
je 0x4734b9
sub eax, 1
jne case.0x4734fa.4
movzx eax, byte [esi + 5]
sub eax, 1
je 0x4734e2
sub eax, 1
jne case.0x4734fa.4
movzx ecx, byte [esi + 0x12]
lea edx, [eax + 1]
movzx eax, byte [esi + 0x13]
shl cx, 8
or cx, ax
movzx eax, cx
jmp 0x4734e8
movzx eax, word [esi + 0x12]
xor edx, edx
movzx eax, ax
add eax, 0xfffffffe
cmp eax, 0x3c
ja case.0x4734fa.4
movzx eax, byte [eax + 0x4736d4]
jmp dword [eax*4 + 0x4736c0]
pop edi
mov eax, 0x3030103
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, 0x3030805
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
je case.0x4734fa.4
pop edi
mov eax, 0x3030205
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
jne case.0x4734fa.4
pop edi
mov eax, 0x3030501
mov dword [ebx], eax
lea eax, [edx + 1]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x200
jb 0x473614
mov eax, dword [esi]
cmp eax, 0xfeedface
ja 0x473583
je 0x47358e
cmp eax, 0xcefaedfe
je 0x47357c
cmp eax, 0xcffaedfe
jne 0x473614
mov ecx, 1
jmp 0x473590
cmp eax, 0xfeedfacf
jne 0x473614
xor ecx, ecx
mov eax, dword [esi + 4]
test ecx, ecx
je 0x473599
bswap eax
cmp eax, 0x12
ja 0x4735c5
je 0x4735d1
sub eax, 7
je 0x4735dc
sub eax, 5
je 0x4735ba
sub eax, 2
jne 0x473614
test ecx, ecx
je 0x473614
mov eax, 0x3030805
jmp 0x4735e1
test ecx, ecx
jne 0x473614
mov eax, 0x3030501
jmp 0x4735e1
sub eax, 0x1000007
je 0x4735dc
sub eax, 0xb
jne 0x473614
test ecx, ecx
je 0x473614
mov eax, 0x3030205
jmp 0x4735e1
mov eax, 0x3030103
mov edi, dword [esi + 0x10]
test ecx, ecx
je 0x4735ea
bswap edi
mov edx, dword [esi + 0x14]
test ecx, ecx
je 0x4735f3
bswap edx
cmp edx, 0x1000000
ja 0x473611
cmp edi, 0x40000
ja 0x473611
pop edi
mov dword [ebx], eax
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 4]
cmp edi, 0x2c
jb 0x47368e
cmp dword [esi], 0x46464952
jne 0x47368e
cmp dword [esi + 8], 0x45564157
jne 0x47368e
cmp dword [esi + 0xc], 0x20746d66
jne 0x47368e
mov ecx, dword [esi + 0x10]
lea eax, [ecx - 0x10]
cmp eax, 2
ja 0x47368e
cmp word [esi + 0x14], 1
jne 0x47368e
movzx ebx, word [esi + 0x22]
test bl, 7
jne 0x47368e
cmp ebx, 0x100
jae 0x47368e
movzx edi, word [esi + 0x16]
cmp edi, 0x100
jae 0x47368e
add ecx, 0x14
xor edx, edx
lea eax, [ecx + 8]
cmp eax, dword [ebp - 4]
ja 0x47368e
cmp dword [ecx + esi], 0x61746164
je 0x473697
mov eax, dword [ecx + esi + 4]
cmp eax, 0x10000
ja 0x47368e
add ecx, 8
inc edx
add ecx, eax
cmp edx, 0xa
jl 0x473667
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
shr ebx, 3
imul ebx, edi
cmp ebx, 0x100
jae 0x47368e
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 4], ebx
mov dword [eax], 3
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret