Function at 0x49ae10
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov edx, dword [ecx + 0x44]
lea eax, [edi + 4]
cmp edx, eax
jb 0x49b09e
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 3]
shl eax, 8
or eax, edx
movzx edx, ax
lea esi, [edi + edx]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x2c], esi
cmp esi, edx
ja 0x49b081
cmp ax, 0x205
jbe 0x49b081
lea ebx, [edi + 6]
xor ebp, ebp
add edi, 0x206
mov esi, ecx
jmp 0x49ae7e
mov eax, edx
shr eax, 3
cmp ebp, eax
cmovb ebp, eax
cmp ebx, edi
je 0x49aec3
add ebx, 2
movzx eax, byte [ebx - 2]
movzx edx, byte [ebx - 1]
mov ecx, dword [esi + 0x48]
shl eax, 8
or eax, edx
cmp ecx, 1
movzx edx, ax
jbe 0x49ae70
test al, 7
je 0x49ae70
mov dword [esp + 4], 8
mov dword [esp], esi
mov dword [esp + 0x10], edx
call sym._ft_validator_error
mov edx, dword [esp + 0x10]
mov eax, edx
shr eax, 3
cmp ebp, eax
cmovb ebp, eax
cmp ebx, edi
jne 0x49ae7e
lea eax, [ebx + ebp*8 + 8]
mov ecx, esi
mov edi, ebx
mov esi, eax
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x44]
cmp esi, eax
ja 0x49b0bb
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x54], ecx
lea esi, [esi]
movzx ebx, byte [edi + 4]
movzx eax, byte [edi + 2]
lea esi, [edi + 8]
movzx ecx, byte [edi + 3]
movzx ebp, byte [edi]
mov dword [esp + 0x14], esi
movzx edx, byte [edi + 1]
movzx esi, byte [edi + 6]
mov byte [esp + 0x18], bl
movzx ebx, byte [edi + 5]
shl eax, 8
or ax, cx
mov byte [esp + 0x1f], bl
movzx ebx, byte [edi + 7]
je 0x49b060
movzx ecx, ax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x48]
cmp eax, 1
jbe 0x49af70
shl ebp, 8
or ebp, edx
cmp bp, 0xff
ja 0x49af54
movzx ebp, bp
lea edx, [ebp + ecx]
cmp edx, 0x100
jbe 0x49af70
mov eax, dword [esp + 0x54]
mov dword [esp + 4], 8
mov dword [esp + 0x24], ecx
mov dword [esp], eax
call sym._ft_validator_error
mov ecx, dword [esp + 0x24]
shl esi, 8
or si, bx
je 0x49b060
mov eax, dword [esp + 0x14]
movzx esi, si
lea eax, [eax + esi - 2]
cmp dword [esp + 0x28], eax
ja 0x49af96
lea eax, [eax + ecx*2]
cmp dword [esp + 0x2c], eax
jae 0x49afb2
mov eax, dword [esp + 0x54]
mov dword [esp + 4], 9
mov dword [esp + 0x24], ecx
mov dword [esp], eax
call sym._ft_validator_error
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x49b060
mov ebx, dword [esp + 0x14]
lea ebp, [ebx + ecx*2]
cmp ebx, ebp
jae 0x49b0d8
movzx esi, word [esp + 0x18]
movzx eax, byte [esp + 0x1f]
mov dword [esp + 0x18], edi
shl esi, 8
or esi, eax
movsx esi, si
mov edi, esi
mov esi, dword [esp + 0x54]
jmp 0x49aff4
cmp ebp, ebx
jbe 0x49b025
add ebx, 2
movzx eax, byte [ebx - 2]
movzx ecx, byte [ebx - 1]
shl eax, 8
or ax, cx
je 0x49aff0
add eax, edi
movzx eax, ax
cmp eax, dword [esi + 0x50]
jb 0x49aff0
mov dword [esp + 4], 0x10
mov dword [esp], esi
call sym._ft_validator_error
cmp ebp, ebx
ja 0x49aff4
mov edi, dword [esp + 0x18]
mov eax, 1
add dword [esp + 0x10], 1
sub ebp, edi
mov edi, dword [esp + 0x14]
lea eax, [ebp + eax - 0xa]
shr eax, 1
lea edi, [edi + eax*2 + 2]
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
jbe 0x49aef0
add esp, 0x3c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x14]
add dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
jbe 0x49aef0
add esp, 0x3c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ecx
mov dword [esp + 4], 8
mov dword [esp + 0x10], ecx
call sym._ft_validator_error
mov ecx, dword [esp + 0x10]
jmp 0x49ae59
mov dword [esp], ecx
mov dword [esp + 4], 8
mov dword [esp + 0x10], ecx
call sym._ft_validator_error
mov ecx, dword [esp + 0x10]
jmp 0x49ae2d
mov dword [esp], ecx
mov dword [esp + 4], 8
mov dword [esp + 0x10], ecx
call sym._ft_validator_error
mov ecx, dword [esp + 0x10]
jmp 0x49aedc
mov edi, ebx
jmp 0x49b064