Function at 0x10030230
Capabilities:
Parse pe header

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
push ebp
mov ebp, dword [esp + 0xc]
lea eax, [ecx - 9]
cmp eax, 0x75
push esi
push edi
ja case.0x10030252.34
movzx eax, byte [eax + 0x10030868]
mov dl, 4
jmp dword [eax*4 + 0x10030800]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x1008fdb0], al
je 0x10030281
lea ebx, [ebx]
movzx edx, byte [eax + ebx + 1]
add eax, 1
test byte [edx + 0x1008fdb0], 1
jne 0x10030270
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x100302bd
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x100302b1
cmp ecx, 0xa
je 0x100302b1
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x100302a0
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x57
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x16
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x17
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 1
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x56
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x58
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x2a
jne 0x1003035f
mov cl, byte [ebx + 2]
test cl, cl
je 0x1003035f
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x10030343
cmp byte [eax + ebx], 0x2f
je 0x10030350
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10030353
add eax, 1
jmp 0x10030338
add eax, 1
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x59
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5a
pop ebp
mov eax, 1
pop ebx
ret
xor eax, eax
cmp byte [ebx + 1], 0x3d
pop edi
sete al
pop esi
mov dword [ebp], 0x4c
pop ebp
pop ebx
add eax, 1
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x100303b3
pop edi
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x100303c9
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x100303df
pop edi
pop esi
mov dword [ebp], 0x54
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x4f
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x1003040a
pop edi
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x10030420
pop edi
pop esi
mov dword [ebp], 0x55
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x4d
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x3d
mov eax, 2
jne 0x10030600
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x10030463
pop edi
pop esi
mov dword [ebp], 0x53
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5b
pop ebp
mov eax, 2
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x19
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x52
pop ebp
mov eax, 1
pop ebx
ret
pop edi
pop esi
mov dword [ebp], 0x5d
pop ebp
mov eax, 1
pop ebx
ret
movzx edx, byte [ebx + 1]
test edx, edx
mov eax, 1
je 0x100304d0
cmp edx, ecx
jne 0x100304c4
movzx esi, byte [ebx + eax + 1]
cmp esi, ecx
jne 0x100304d0
add eax, 1
movzx edx, byte [eax + ebx + 1]
add eax, 1
test edx, edx
jne 0x100304b4
cmp edx, 0x27
jne 0x100304e4
pop edi
pop esi
mov dword [ebp], 0x5e
pop ebp
add eax, 1
pop ebx
ret
test edx, edx
je 0x10030600
pop edi
pop esi
mov dword [ebp], 0x1a
pop ebp
add eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x1008fdb0], dl
jne case.0x10030252.24
pop edi
pop esi
mov dword [ebp], 0x76
pop ebp
mov eax, 1
pop ebx
ret
xor eax, eax
test byte [ecx + 0x1008fdb0], dl
mov dword [ebp], 0x81
je 0x10030540
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x10030530
cmp byte [eax + ebx], 0x2e
jne 0x10030577
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
je 0x10030570
jmp 0x10030560
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x10030560
mov dword [ebp], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x10030584
cmp cl, 0x45
jne 0x100305d7
mov cl, byte [eax + ebx + 1]
movzx esi, cl
test byte [esi + 0x1008fdb0], dl
jne 0x100305aa
cmp cl, 0x2b
je 0x1003059d
cmp cl, 0x2d
jne 0x100305d7
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x1008fdb0], dl
je 0x100305d7
movzx ecx, byte [eax + ebx + 2]
add eax, 2
test byte [ecx + 0x1008fdb0], dl
je 0x100305d0
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x100305c0
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
mov dl, 0x46
test byte [ecx + 0x1008fdb0], dl
je 0x100307fa
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x100305f0
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp ecx, 0x5d
mov eax, 1
je 0x10030626
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x10030626
add eax, 1
cmp ecx, 0x5d
jne 0x10030616
sub ecx, 0x5d
neg ecx
sbb ecx, ecx
pop edi
and ecx, 0x7a
add ecx, 0x1a
pop esi
mov dword [ebp], ecx
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
test byte [ecx + 0x1008fdb0], dl
mov dword [ebp], 0x85
mov eax, 1
je 0x100307fa
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x10030660
pop edi
pop esi
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
test byte [ecx + 0x1008fdb0], dl
mov eax, 1
je case.0x10030252.13
jmp 0x10030690
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x10030690
cmp eax, 1
jle case.0x10030252.13
pop edi
pop esi
mov dword [ebp], 0x84
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
xor esi, esi
test ecx, ecx
mov dword [ebp], 0x85
lea eax, [esi + 1]
je 0x10030740
mov dl, 0x46
jmp 0x100306d0
movzx edi, cl
test byte [edi + 0x1008fdb0], dl
je 0x100306e0
add esi, 1
jmp 0x100306f3
cmp ecx, 0x28
je 0x10030701
cmp ecx, 0x3a
jne 0x10030738
cmp byte [ebx + eax + 1], cl
jne 0x10030738
add eax, 1
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x100306d0
jmp 0x10030738
test esi, esi
jle 0x1003073a
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
je 0x10030727
movzx edx, cl
test byte [edx + 0x1008fdb0], 1
jne 0x10030727
cmp ecx, 0x29
jne 0x10030705
add eax, 1
jmp 0x10030738
cmp ecx, 0x29
jne 0x10030731
add eax, 1
jmp 0x10030738
mov dword [ebp], 0x94
test esi, esi
jne 0x100307fa
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x10030252.34
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov dword [ebp], 0x83
mov eax, 2
je 0x1003078b
mov dl, 8
cmp ecx, 0x27
je 0x1003078b
movzx ecx, cl
test byte [ecx + 0x1008fdb0], dl
jne 0x1003077f
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx + 1]
add eax, 1
test ecx, ecx
jne 0x10030768
mov edx, eax
and edx, 0x80000001
jns 0x1003079a
dec edx
or edx, 0xfffffffe
inc edx
jne 0x100307a0
test ecx, ecx
jne 0x100307ab
test ecx, ecx
mov dword [ebp], 0x94
je 0x100307fa
pop edi
pop esi
pop ebp
add eax, 1
pop ebx
ret
mov dl, 0x46
test byte [ecx + 0x1008fdb0], dl
jne 0x100307ce
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x1008fdb0], dl
mov edi, 1
je 0x100307f0
nop
movzx ecx, byte [edi + ebx + 1]
add edi, 1
test byte [ecx + 0x1008fdb0], dl
jne 0x100307e0
call fcn.100301a0
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret