Function at 0x100bba50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
push edi
movzx ecx, byte [edx]
lea eax, [ecx - 9]
cmp eax, 0x75
ja case.0x100bba6e.11
movzx eax, byte [eax + 0x100bc09c]
jmp dword [eax*4 + 0x100bc034]
movzx eax, byte [edx + 1]
mov esi, 1
test byte [eax + 0x1015a4f8], 1
je 0x100bba9f
jmp 0x100bba90
movzx ecx, byte [esi + edx + 1]
inc esi
test byte [ecx + 0x1015a4f8], 1
jne 0x100bba90
mov ecx, dword [ebp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword [ecx], 0x95
pop ebp
ret
cmp byte [edx + 1], 0x2d
jne 0x100bbadf
movzx eax, byte [edx + 2]
mov esi, 2
test eax, eax
je 0x100bba9f
cmp eax, 0xa
je 0x100bba9f
movzx eax, byte [esi + edx + 1]
inc esi
test eax, eax
jne 0x100bbac1
mov ecx, dword [ebp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword [ecx], 0x95
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x57
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x16
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x17
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 1
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x56
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x58
mov eax, 1
pop ebp
ret
cmp byte [edx + 1], 0x2a
jne 0x100bbb84
mov cl, byte [edx + 2]
test cl, cl
je 0x100bbb84
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x100bbb6b
cmp byte [eax + edx], 0x2f
je 0x100bbb76
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x100bbb77
inc eax
jmp 0x100bbb60
inc eax
mov ecx, dword [ebp + 0xc]
pop edi
pop esi
mov dword [ecx], 0x95
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x59
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x5a
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x4c
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
pop ebp
ret
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x100bbbda
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x4e
mov eax, 2
pop ebp
ret
cmp eax, 0x3e
jne 0x100bbbf1
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax], 0x4b
mov eax, 2
pop esi
pop ebp
ret
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x100bbc08
pop edi
mov dword [eax], 0x54
mov eax, 2
pop esi
pop ebp
ret
pop edi
mov dword [eax], 0x4f
mov eax, 1
pop esi
pop ebp
ret
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x100bbc32
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x50
mov eax, 2
pop ebp
ret
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x100bbc49
pop edi
mov dword [eax], 0x55
mov eax, 2
pop esi
pop ebp
ret
pop edi
mov dword [eax], 0x4d
mov eax, 1
pop esi
pop ebp
ret
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
je 0x100bbbe2
pop edi
mov dword [eax], 0x94
mov eax, 2
pop esi
pop ebp
ret
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x100bbc88
pop edi
mov dword [eax], 0x53
mov eax, 1
pop esi
pop ebp
ret
pop edi
mov dword [eax], 0x5b
mov eax, 2
pop esi
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x19
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x52
mov eax, 1
pop ebp
ret
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x5d
mov eax, 1
pop ebp
ret
movzx edi, byte [edx + 1]
mov esi, 1
test edi, edi
je 0x100bbcf8
lea ebx, [ebx]
cmp edi, ecx
jne 0x100bbcee
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x100bbcf8
inc esi
movzx edi, byte [esi + edx + 1]
inc esi
test edi, edi
jne 0x100bbce0
cmp edi, 0x27
jne 0x100bbd0d
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax], 0x5e
lea eax, [esi + 1]
pop esi
pop ebp
ret
test edi, edi
je 0x100bbd21
mov eax, dword [ebp + 0xc]
pop edi
mov dword [eax], 0x1a
lea eax, [esi + 1]
pop esi
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword [ecx], 0x94
pop ebp
ret
movzx eax, byte [edx + 1]
test byte [eax + 0x1015a4f8], 4
jne case.0x100bba6e.48
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x76
mov eax, 1
pop ebp
ret
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [edi], 0x81
movzx eax, byte [edx]
test byte [eax + 0x1015a4f8], 4
je 0x100bbd7f
jmp 0x100bbd70
movzx eax, byte [esi + edx + 1]
inc esi
test byte [eax + 0x1015a4f8], 4
jne 0x100bbd70
cmp byte [esi + edx], 0x2e
jne 0x100bbdb5
movzx eax, byte [esi + edx + 1]
inc esi
test byte [eax + 0x1015a4f8], 4
je 0x100bbdaf
jmp 0x100bbda0
movzx eax, byte [esi + edx + 1]
inc esi
test byte [eax + 0x1015a4f8], 4
jne 0x100bbda0
mov dword [edi], 0x82
mov al, byte [esi + edx]
cmp al, 0x65
je 0x100bbdc0
cmp al, 0x45
jne 0x100bbe15
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x1015a4f8], 4
jne 0x100bbde8
cmp cl, 0x2b
je 0x100bbdda
cmp cl, 0x2d
jne 0x100bbe15
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x1015a4f8], 4
je 0x100bbe15
movzx eax, byte [esi + edx + 2]
add esi, 2
test byte [eax + 0x1015a4f8], 4
je 0x100bbe0f
lea esp, [esp]
movzx eax, byte [esi + edx + 1]
inc esi
test byte [eax + 0x1015a4f8], 4
jne 0x100bbe00
mov dword [edi], 0x82
movzx eax, byte [esi + edx]
test byte [eax + 0x1015a4f8], 0x46
je 0x100bc02e
jmp 0x100bbe30
inc esi
mov dword [edi], 0x94
movzx ecx, byte [esi + edx]
test byte [ecx + 0x1015a4f8], 0x46
jne 0x100bbe30
pop edi
mov eax, esi
pop esi
pop ebp
ret
mov eax, 1
cmp ecx, 0x5d
je 0x100bbe62
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x100bbe62
inc eax
cmp ecx, 0x5d
jne 0x100bbe54
cmp ecx, 0x5d
mov esi, 0x1a
mov ecx, dword [ebp + 0xc]
mov edx, 0x94
cmove edx, esi
pop edi
pop esi
mov dword [ecx], edx
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov esi, 1
mov dword [eax], 0x85
movzx eax, byte [edx + 1]
test byte [eax + 0x1015a4f8], 4
je 0x100bc02e
lea ebx, [ebx]
movzx ecx, byte [esi + edx + 1]
inc esi
test byte [ecx + 0x1015a4f8], 4
jne 0x100bbea0
pop edi
mov eax, esi
pop esi
pop ebp
ret
movzx eax, byte [edx + 1]
mov esi, 1
test byte [eax + 0x1015a4f8], 4
je case.0x100bba6e.36
jmp 0x100bbed0
movzx ecx, byte [esi + edx + 1]
inc esi
test byte [ecx + 0x1015a4f8], 4
jne 0x100bbed0
cmp esi, 1
jle case.0x100bba6e.36
mov ecx, dword [ebp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword [ecx], 0x84
pop ebp
ret
mov edi, dword [ebp + 0xc]
xor esi, esi
push ebx
mov dword [edi], 0x85
lea ecx, [esi + 1]
movzx ebx, byte [edx + 1]
test ebx, ebx
je 0x100bbf6d
lea ebx, [ebx]
movzx eax, bl
test byte [eax + 0x1015a4f8], 0x46
je 0x100bbf1f
inc esi
jmp 0x100bbf30
cmp ebx, 0x28
je 0x100bbf3c
cmp ebx, 0x3a
jne 0x100bbf69
cmp byte [edx + ecx + 1], bl
jne 0x100bbf69
inc ecx
movzx ebx, byte [ecx + edx + 1]
inc ecx
test ebx, ebx
jne 0x100bbf10
jmp 0x100bbf69
test esi, esi
jle 0x100bbf6b
movzx ebx, byte [ecx + edx + 1]
inc ecx
test ebx, ebx
je 0x100bbf5b
test byte [ebx + 0x1015a4f8], 1
jne 0x100bbf5b
cmp ebx, 0x29
jne 0x100bbf40
inc ecx
jmp 0x100bbf69
cmp ebx, 0x29
jne 0x100bbf63
inc ecx
jmp 0x100bbf69
mov dword [edi], 0x94
test esi, esi
jne 0x100bbf73
mov dword [edi], 0x94
pop ebx
pop edi
mov eax, ecx
pop esi
pop ebp
ret
cmp byte [edx + 1], 0x27
jne case.0x100bba6e.11
mov edi, dword [ebp + 0xc]
mov esi, 2
mov dword [edi], 0x83
movzx ecx, byte [edx + 2]
test ecx, ecx
je 0x100bbfb7
cmp ecx, 0x27
je 0x100bbfb7
movzx eax, cl
test byte [eax + 0x1015a4f8], 8
jne 0x100bbfad
mov dword [edi], 0x94
movzx ecx, byte [esi + edx + 1]
inc esi
test ecx, ecx
jne 0x100bbf96
mov eax, esi
and eax, 0x80000001
jns 0x100bbfc5
dec eax
or eax, 0xfffffffe
inc eax
jne 0x100bbfcb
test ecx, ecx
jne 0x100bbfd5
mov dword [edi], 0x94
test ecx, ecx
je 0x100bc02e
inc esi
pop edi
mov eax, esi
pop esi
pop ebp
ret
test byte [ecx + 0x1015a4f8], 0x46
jne 0x100bbff7
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword [eax], 0x94
mov eax, 1
pop ebp
ret
movzx eax, byte [edx + 1]
mov esi, 1
test byte [eax + 0x1015a4f8], 0x46
je 0x100bc01f
lea esp, [esp]
movzx eax, byte [esi + edx + 1]
inc esi
test byte [eax + 0x1015a4f8], 0x46
jne 0x100bc010
push esi
push edx
call fcn.1009f760
mov ecx, dword [ebp + 0xc]
add esp, 8
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebp
ret