Function at 0x1003f200
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]
push esi
cmp eax, 0x75
ja case.0x1003f221.34
movzx eax, byte [eax + 0x1003f7e0]
mov dl, 4
jmp dword [eax*4 + 0x1003f778]
movzx ecx, byte [ebx + 1]
mov eax, 1
test byte [ecx + 0x100f3588], al
je 0x1003f24f
lea esp, [esp]
movzx edx, byte [eax + ebx + 1]
inc eax
test byte [edx + 0x100f3588], 1
jne 0x1003f240
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x2d
jne 0x1003f28a
movzx ecx, byte [ebx + 2]
mov eax, 2
test ecx, ecx
je 0x1003f27f
lea ecx, [ecx]
cmp ecx, 0xa
je 0x1003f27f
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x1003f270
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop esi
mov dword [ebp], 0x57
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x16
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x17
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 1
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x56
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x58
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x2a
jne 0x1003f322
mov cl, byte [ebx + 2]
test cl, cl
je 0x1003f322
mov eax, 3
movzx ecx, cl
nop
cmp ecx, 0x2a
jne 0x1003f30b
cmp byte [eax + ebx], 0x2f
je 0x1003f316
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x1003f317
inc eax
jmp 0x1003f300
inc eax
pop esi
mov dword [ebp], 0x95
pop ebp
pop ebx
ret
pop esi
mov dword [ebp], 0x59
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x5a
pop ebp
mov eax, 1
pop ebx
ret
xor eax, eax
mov dword [ebp], 0x4c
cmp byte [ebx + 1], 0x3d
pop esi
sete al
pop ebp
pop ebx
inc eax
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x1003f370
pop esi
mov dword [ebp], 0x4e
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x1003f385
pop esi
mov dword [ebp], 0x4b
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3c
jne 0x1003f39a
pop esi
mov dword [ebp], 0x54
pop ebp
mov eax, 2
pop ebx
ret
pop esi
mov dword [ebp], 0x4f
pop ebp
mov eax, 1
pop ebx
ret
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x1003f3c3
pop esi
mov dword [ebp], 0x50
pop ebp
mov eax, 2
pop ebx
ret
cmp eax, 0x3e
jne 0x1003f3d8
pop esi
mov dword [ebp], 0x55
pop ebp
mov eax, 2
pop ebx
ret
pop esi
mov dword [ebp], 0x4d
pop ebp
mov eax, 1
pop ebx
ret
cmp byte [ebx + 1], 0x3d
mov eax, 2
jne 0x1003f6b5
pop esi
mov dword [ebp], 0x4b
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x7c
je 0x1003f418
pop esi
mov dword [ebp], 0x53
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x5b
pop ebp
mov eax, 2
pop ebx
ret
pop esi
mov dword [ebp], 0x19
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x52
pop ebp
mov eax, 1
pop ebx
ret
pop esi
mov dword [ebp], 0x5d
pop ebp
mov eax, 1
pop ebx
ret
movzx esi, byte [ebx + 1]
mov eax, 1
test esi, esi
je 0x1003f47d
cmp esi, ecx
jne 0x1003f473
movzx edx, byte [ebx + eax + 1]
cmp edx, ecx
jne 0x1003f47d
inc eax
movzx esi, byte [eax + ebx + 1]
inc eax
test esi, esi
jne 0x1003f465
cmp esi, 0x27
jne 0x1003f48e
pop esi
mov dword [ebp], 0x5e
pop ebp
inc eax
pop ebx
ret
test esi, esi
je 0x1003f6b5
pop esi
mov dword [ebp], 0x1a
pop ebp
inc eax
pop ebx
ret
movzx eax, byte [ebx + 1]
test byte [eax + 0x100f3588], dl
jne case.0x1003f221.24
pop esi
mov dword [ebp], 0x75
pop ebp
mov eax, 1
pop ebx
ret
mov dword [ebp], 0x81
movzx ecx, byte [ebx]
xor eax, eax
test byte [ecx + 0x100f3588], dl
je 0x1003f4e0
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
jne 0x1003f4d2
cmp byte [eax + ebx], 0x2e
jne 0x1003f509
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
je 0x1003f502
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
jne 0x1003f4f4
mov dword [ebp], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x1003f516
cmp cl, 0x45
jne 0x1003f565
mov cl, byte [eax + ebx + 1]
movzx esi, cl
test byte [esi + 0x100f3588], dl
jne 0x1003f53c
cmp cl, 0x2b
je 0x1003f52f
cmp cl, 0x2d
jne 0x1003f565
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x100f3588], dl
je 0x1003f565
movzx ecx, byte [eax + ebx + 2]
add eax, 2
test byte [ecx + 0x100f3588], dl
je 0x1003f55e
lea esp, [esp]
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
jne 0x1003f550
mov dword [ebp], 0x82
movzx ecx, byte [eax + ebx]
test cl, cl
js 0x1003f583
cmp ecx, 0x1f
jle 0x1003f774
cmp byte [ecx + 0x100f6618], 0
je 0x1003f774
mov dword [ebp], 0x94
inc eax
jmp 0x1003f565
mov eax, 1
cmp ecx, 0x5d
je 0x1003f5a5
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x1003f5a5
inc eax
cmp ecx, 0x5d
jne 0x1003f597
sub ecx, 0x5d
neg ecx
sbb ecx, ecx
and ecx, 0x7a
add ecx, 0x1a
pop esi
mov dword [ebp], ecx
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx ecx, byte [ebx + 1]
mov dl, 4
mov eax, 1
test byte [ecx + 0x100f3588], dl
je 0x1003f774
jmp 0x1003f5e0
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
jne 0x1003f5e0
pop esi
pop ebp
pop ebx
ret
movzx ecx, byte [ebx + 1]
mov dl, 4
mov eax, 1
test byte [ecx + 0x100f3588], dl
je case.0x1003f221.13
jmp 0x1003f610
movzx ecx, byte [eax + ebx + 1]
inc eax
test byte [ecx + 0x100f3588], dl
jne 0x1003f610
cmp eax, 1
jle case.0x1003f221.13
pop esi
mov dword [ebp], 0x84
pop ebp
pop ebx
ret
mov dword [ebp], 0x85
movzx ecx, byte [ebx + 1]
xor esi, esi
lea eax, [esi + 1]
test ecx, ecx
je 0x1003f6b5
lea edx, [esi + 0x3a]
test cl, cl
js 0x1003f669
cmp ecx, 0x1f
jle 0x1003f657
cmp byte [ecx + 0x100f6618], 0
jne 0x1003f669
cmp ecx, 0x28
je 0x1003f676
cmp ecx, edx
jne 0x1003f6ad
cmp byte [ebx + eax + 1], dl
jne 0x1003f6ad
inc eax
jmp 0x1003f66a
inc esi
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x1003f645
jmp 0x1003f6ad
test esi, esi
jle 0x1003f6af
lea ebx, [ebx]
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
je 0x1003f69e
movzx edx, cl
test byte [edx + 0x100f3588], 1
jne 0x1003f69e
cmp ecx, 0x29
jne 0x1003f680
inc eax
jmp 0x1003f6ad
cmp ecx, 0x29
jne 0x1003f6a6
inc eax
jmp 0x1003f6ad
mov dword [ebp], 0x94
test esi, esi
jne 0x1003f774
pop esi
mov dword [ebp], 0x94
pop ebp
pop ebx
ret
cmp byte [ebx + 1], 0x27
jne case.0x1003f221.34
mov dword [ebp], 0x83
movzx ecx, byte [ebx + 2]
mov eax, 2
test ecx, ecx
je 0x1003f701
mov dl, 8
lea esp, [esp]
cmp ecx, 0x27
je 0x1003f701
movzx ecx, cl
test byte [ecx + 0x100f3588], dl
jne 0x1003f6f7
mov dword [ebp], 0x94
movzx ecx, byte [eax + ebx + 1]
inc eax
test ecx, ecx
jne 0x1003f6e0
mov edx, eax
and edx, 0x80000001
jns 0x1003f710
dec edx
or edx, 0xfffffffe
inc edx
jne 0x1003f716
test ecx, ecx
jne 0x1003f721
mov dword [ebp], 0x94
test ecx, ecx
je 0x1003f774
pop esi
pop ebp
inc eax
pop ebx
ret
test cl, cl
js 0x1003f748
cmp ecx, 0x1f
jle 0x1003f738
cmp byte [ecx + 0x100f6618], 0
jne 0x1003f748
pop esi
mov dword [ebp], 0x94
pop ebp
mov eax, 1
pop ebx
ret
push edi
mov edi, 1
mov edi, edi
movzx eax, byte [edi + ebx]
test al, al
js 0x1003f766
cmp eax, 0x1f
jle 0x1003f769
cmp byte [eax + 0x100f6618], 0
je 0x1003f769
inc edi
jmp 0x1003f750
call fcn.1003f170
mov dword [ebp], eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret