Function at 0x410a30
Capabilities:
Parse pe header

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
mov ebx, eax
push esi
movzx esi, byte [ebx]
lea eax, [esi - 9]
cmp eax, 0x75
push edi
ja case.0x410a52.34
movzx eax, byte [eax + 0x411048]
mov cl, 4
jmp dword [eax*4 + 0x410fe0]
movzx ecx, byte [ebx + 1]
mov dl, byte [ecx + 0x4ac9c8]
mov eax, 1
test al, dl
je 0x410a81
lea esp, [esp]
movzx edx, byte [eax + ebx + 1]
mov cl, byte [edx + 0x4ac9c8]
inc eax
test cl, 1
jne 0x410a70
pop edi
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x410abb
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x410aaf
cmp ecx, 0xa
je 0x410aaf
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x410aa0
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 0x410b59
mov cl, byte [ebx + 2]
test cl, cl
je 0x410b59
mov eax, 3
movzx ecx, cl
cmp ecx, 0x2a
jne 0x410b41
cmp byte [eax + ebx], 0x2f
je 0x410b4c
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x410b4d
inc eax
jmp 0x410b36
inc eax
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
mov dword [ebp], 0x4c
mov dl, byte [ebx + 1]
xor eax, eax
cmp dl, 0x3d
sete al
pop edi
pop esi
pop ebp
pop ebx
inc eax
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x410bad
pop edi
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x410bc3
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x410bd9
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 0x410c04
pop edi
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x410c1a
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 0x410f15
pop edi
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x410c5d
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 0x410cc8
mov edi, edi
cmp edx, esi
jne 0x410cbe
movzx ecx, byte [ebx + eax + 1]
cmp ecx, esi
jne 0x410cc8
inc eax
movzx edx, byte [eax + ebx + 1]
inc eax
test edx, edx
jne 0x410cb0
cmp edx, 0x27
jne 0x410cda
pop edi
pop esi
mov dword [ebp], 0x5e
pop ebp
inc eax
pop ebx
ret
test edx, edx
je 0x410f15
pop edi
pop esi
mov dword [ebp], 0x1a
pop ebp
inc eax
pop ebx
ret
movzx edx, byte [ebx + 1]
test byte [edx + 0x4ac9c8], cl
jne case.0x410a52.24
pop edi
pop esi
mov dword [ebp], 0x76
pop ebp
mov eax, 1
pop ebx
ret
mov dword [ebp], 0x81
movzx edx, byte [ebx]
xor eax, eax
test byte [edx + 0x4ac9c8], cl
je 0x410d2e
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
jne 0x410d20
cmp byte [eax + ebx], 0x2e
jne 0x410d57
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
je 0x410d50
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
jne 0x410d42
mov dword [ebp], 0x82
mov dl, byte [eax + ebx]
cmp dl, 0x65
je 0x410d64
cmp dl, 0x45
jne 0x410db5
mov dl, byte [eax + ebx + 1]
movzx esi, dl
test byte [esi + 0x4ac9c8], cl
jne 0x410d8a
cmp dl, 0x2b
je 0x410d7d
cmp dl, 0x2d
jne 0x410db5
movzx edx, byte [eax + ebx + 2]
test byte [edx + 0x4ac9c8], cl
je 0x410db5
movzx edx, byte [eax + ebx + 2]
add eax, 2
test byte [edx + 0x4ac9c8], cl
je 0x410dae
lea ebx, [ebx]
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
jne 0x410da0
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
mov dl, 0x46
test byte [ecx + 0x4ac9c8], dl
je 0x410fda
jmp 0x410dd0
inc eax
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ac9c8], dl
jne 0x410dd0
pop edi
pop esi
pop ebp
pop ebx
ret
mov ecx, esi
cmp ecx, 0x5d
mov eax, 1
je 0x410e03
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x410e03
inc eax
cmp ecx, 0x5d
jne 0x410df5
xor edx, edx
cmp ecx, 0x5d
setne dl
pop edi
pop esi
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [ebp], edx
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx edx, byte [ebx + 1]
mov cl, 4
test byte [edx + 0x4ac9c8], cl
mov eax, 1
je 0x410fda
jmp 0x410e40
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
jne 0x410e40
pop edi
pop esi
pop ebp
pop ebx
ret
movzx edx, byte [ebx + 1]
mov cl, 4
test byte [edx + 0x4ac9c8], cl
mov eax, 1
je case.0x410a52.13
jmp 0x410e70
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x4ac9c8], cl
jne 0x410e70
cmp eax, 1
jle case.0x410a52.13
pop edi
pop esi
mov dword [ebp], 0x84
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx ecx, byte [ebx + 1]
xor esi, esi
test ecx, ecx
mov eax, 1
je 0x410f15
mov dl, 0x46
jmp 0x410eb0
movzx edi, cl
test byte [edi + 0x4ac9c8], dl
je 0x410ebe
inc esi
jmp 0x410ed0
cmp ecx, 0x28
je 0x410edc
cmp ecx, 0x3a
jne 0x410f0d
cmp byte [ebx + eax + 1], 0x3a
jne 0x410f0d
inc eax
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x410eb0
jmp 0x410f0d
test esi, esi
jle 0x410f0f
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
je 0x410efe
movzx edx, cl
test byte [edx + 0x4ac9c8], 1
jne 0x410efe
cmp ecx, 0x29
jne 0x410ee0
inc eax
jmp 0x410f0d
cmp ecx, 0x29
jne 0x410f06
inc eax
jmp 0x410f0d
mov dword [ebp], 0x94
test esi, esi
jne 0x410fda
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x410a52.34
mov dword [ebp], 0x83
movzx ecx, byte [ebx + 2]
test ecx, ecx
mov eax, 2
je 0x410f61
mov dl, 8
lea ecx, [ecx]
cmp ecx, 0x27
je 0x410f61
movzx ecx, cl
test byte [ecx + 0x4ac9c8], dl
jne 0x410f57
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x410f40
mov edx, eax
and edx, 0x80000001
jns 0x410f70
dec edx
or edx, 0xfffffffe
inc edx
jne 0x410f76
test ecx, ecx
jne 0x410f81
test ecx, ecx
mov dword [ebp], 0x94
je 0x410fda
pop edi
pop esi
pop ebp
inc eax
pop ebx
ret
mov al, byte [esi + 0x4ac9c8]
mov dl, 0x46
test dl, al
jne 0x410fa4
pop edi
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x4ac9c8], dl
mov edi, 1
je 0x410fd0
jmp 0x410fc0
movzx ecx, byte [edi + ebx + 1]
mov al, byte [ecx + 0x4ac9c8]
inc edi
test dl, al
jne 0x410fc0
call fcn.00410990
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret
xor eax, 0x997e6bb6
out 0x16, al
mov ebx, 0x524c992f
enter 0x300f, 0x3a
cmp ch, byte [edx - 0x7892591a]
sbb al, byte [ecx + 0x13ce5773]
add al, 0x92
sahf
insb byte es:[di], dx
stosd dword es:[edi], eax
salc
sub ch, byte [esi + eax*8 + 0x4c]
inc ebx
inc ebx
pop ss
add al, byte [esi + 0x6af3f3f3]
xlatb
imul ebp, dword [0x6f77a7a6], 0xffffffd3
ja 0x5a1088
rcr dword [ebx + edx*8 + 0x3147e9af], cl
inc edi
xor dword [edi], edi
or bl, bh
sal dword [esi + 0x32247a4c], 0xda
popfd
xchg esi, eax
nop
dec ecx
mov eax, 0x7bfbfeff
inc esp
xchg edi, eax
cdq
cdq
cdq
sub eax, 0x1daf6666
je 0x5a1069
jns 0x5a1084
push eax
fcomp dword [edi + 0x6b17a82e]
add byte [esi - 0x49c48853], dh
arpl word [ebx], di
test dh, 0xb3
sbb eax, 0xed8ed606
fdivr dword [ebx]
fdivr st(6)
mov edx, 0xeb74b030
pushal
jmp 0x39f784e0
je 0x5a1008
cmp dword [ebp - 0x2a4166f5], esp
xor eax, 0xcb5fefe8
invalid
mov ecx, dword [esi - 0x49]
ret