Function at 0x40c61c
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
movsx eax, al
cmp eax, 0x59
push esi
push edi
mov ebx, ecx
mov esi, edx
jg 0x40c7f0
je 0x40c7be
cmp eax, 0x49
jg 0x40c70d
je 0x40c6e0
sub eax, 4
je 0x40c9fa
sub eax, 9
je 0x40c9fa
sub eax, 0x18
je 0x40c6cf
sub eax, 0x1c
je 0x40c6ad
dec eax
je 0x40c68b
sub eax, 6
jne 0x40c90a
mov eax, dword [esi + 8]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, 0x17
jg 0x40c8f2
jmp 0x40c861
mov esi, dword [esi + 0x10]
xor edi, edi
cmp esi, edi
jl 0x40c8f2
cmp esi, 0xb
jg 0x40c8f2
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + esi*4 + 0x68]
jmp 0x40c9f2
mov esi, dword [esi + 0x18]
xor edi, edi
cmp esi, edi
jl 0x40c8f2
cmp esi, 6
jg 0x40c8f2
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + esi*4 + 0x1c]
jmp 0x40c9f2
mov eax, dword [ebx]
mov byte [eax], 0x25
mov eax, dword [ebp + 0xc]
inc dword [ebx]
dec dword [eax]
jmp 0x40c9fa
mov eax, dword [esi + 8]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, 0x17
jg 0x40c8f2
cdq
push 0xc
pop ecx
idiv ecx
mov eax, edx
cmp eax, edi
jne 0x40c861
push ecx
pop eax
jmp 0x40c861
sub eax, 0x4d
je 0x40c7b9
push 6
pop ecx
sub eax, ecx
je 0x40c7a5
dec eax
dec eax
je 0x40c759
dec eax
dec eax
je 0x40c73b
dec eax
jne 0x40c90a
push dword [ebp + 0x10]
push dword [ebp + 0xc]
jmp 0x40c8ae
mov eax, dword [esi + 0x18]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, ecx
jg 0x40c8f2
cmp eax, edi
je 0x40c770
lea ecx, [eax - 1]
jmp 0x40c770
mov eax, dword [esi + 0x18]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, ecx
jg 0x40c8f2
mov ecx, eax
mov eax, dword [esi + 0x1c]
cmp eax, edi
jl 0x40c8f2
cmp eax, 0x16d
jg 0x40c8f2
cmp eax, ecx
jge 0x40c791
xor eax, eax
jmp 0x40c861
push 7
cdq
pop esi
idiv esi
cmp edx, ecx
jl 0x40c861
inc eax
jmp 0x40c861
mov eax, dword [esi]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, 0x3b
jmp 0x40c680
mov eax, dword [esi + 4]
jmp 0x40c7a7
mov eax, dword [esi + 0x14]
cmp eax, 0xfffff894
jl 0x40c7cf
cmp eax, 0x1fa3
jle 0x40c7db
call fcn.00403920
xor edi, edi
jmp 0x40c8f7
cdq
push 0x64
pop ecx
idiv ecx
push dword [ebp + 0x14]
push 4
add eax, 0x13
imul eax, eax, 0x64
add eax, edx
jmp 0x40c866
cmp eax, 0x6d
jg 0x40c932
je 0x40c91c
jmp 0x491328
push dword [ebp + 0x14]
push 2
pop edx
mov ecx, dword [ebp + 0xc]
mov edi, ebx
call fcn.0040c5a3
pop ecx
jmp 0x40c9fa
push ebx
push esi
push 2
push dword [ebp + 8]
call fcn.0040ca02
add esp, 0x18
test eax, eax
jne 0x40c9fa
jmp 0x40c90a
call fcn.00403920
push edi
push edi
push edi
push edi
push edi
mov dword [eax], 0x16
call fcn.004038a8
add esp, 0x14
xor eax, eax
jmp 0x40c9fd
mov esi, dword [esi + 0x10]
xor edi, edi
cmp esi, edi
jl 0x40c8f2
cmp esi, 0xb
jg 0x40c8f2
lea eax, [esi + 1]
jmp 0x40c861
sub eax, 0x70
je 0x40c9c6
sub eax, 7
je 0x40c9a5
dec eax
je 0x40c989
dec eax
je 0x40c96c
dec eax
jne 0x40c90a
call fcn.004115b3
call fcn.00410e75
mov edx, eax
xor eax, eax
cmp dword [esi + 0x20], eax
mov ecx, ebx
setne al
mov ebx, eax
mov edx, dword [edx + ebx*4]
mov dword [ebp - 4], eax
jmp 0x40c9f2
mov eax, dword [esi + 0x14]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
push dword [ebp + 0x14]
cdq
push 0x64
pop ecx
idiv ecx
mov eax, edx
jmp 0x40c864
push dword [ebp + 0x10]
xor edi, edi
cmp dword [ebp + 0x14], edi
push dword [ebp + 0xc]
push ebx
push esi
je 0x40c99f
push 1
jmp 0x40c8b2
push edi
jmp 0x40c8b2
mov eax, dword [esi + 0x18]
xor edi, edi
cmp eax, edi
jl 0x40c8f2
cmp eax, 6
jg 0x40c8f2
push dword [ebp + 0x14]
xor edx, edx
inc edx
jmp 0x40c867
mov esi, dword [esi + 8]
xor edi, edi
cmp esi, edi
jl 0x40c8f2
cmp esi, 0x17
jg 0x40c8f2
cmp esi, 0xb
mov edx, dword [ebp + 0x10]
jg 0x40c9ec
mov edx, dword [edx + 0x98]
jmp 0x40c9f2
mov edx, dword [edx + 0x9c]
mov eax, dword [ebp + 0xc]
call fcn.0040c54d
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret