Function at 0x4450f0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
push ebp
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x38]
call fcn.004417a0
add esp, 4
cmp eax, 0xffffff88
ja 0x4453f3
mov ecx, dword [esp + 0x30]
mov edx, dword [esi]
lea eax, [ecx + ebp]
shr edx, 0x10
mov dword [esp + 8], eax
movzx ecx, dl
mov edx, dword [esp + 0x20]
sub eax, ebp
push ebx
push edi
mov edi, dword [esp + 0x24]
cmp eax, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebp
jb 0x445239
mov ebx, dword [esp + 0x1c]
lea ebx, [ebx]
cmp eax, 0x20
jbe 0x44515c
mov ecx, 3
jmp 0x4451ad
cmp edi, dword [esp + 0x2c]
jb 0x445170
mov edx, eax
shr edx, 3
sub edi, edx
and eax, 7
xor ecx, ecx
jmp 0x4451ab
cmp edi, edx
jne 0x44517e
cmp eax, 0x20
sbb ecx, ecx
add ecx, 2
jmp 0x4451ad
mov ecx, eax
shr ecx, 3
mov ebx, edi
sub ebx, ecx
mov dword [esp + 0x18], 0
cmp ebx, edx
jae 0x44519e
mov ecx, edi
sub ecx, edx
mov edx, 1
jmp 0x4451a2
mov edx, dword [esp + 0x18]
sub edi, ecx
neg ecx
lea eax, [eax + ecx*8]
mov ecx, edx
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffd
cmp ebp, edx
sbb edx, edx
mov dword [esp + 0x18], eax
xor eax, eax
neg edx
test ecx, ecx
sete al
test eax, edx
mov eax, dword [esp + 0x18]
je 0x445278
mov ebp, dword [esp + 0x14]
mov ecx, eax
and ecx, 0x1f
neg ebp
and ebp, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, ebp
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xc]
shr edx, cl
movzx ecx, word [esi + edx*4 + 4]
mov word [ebp], cx
movzx ecx, byte [esi + edx*4 + 6]
movzx edx, byte [esi + edx*4 + 7]
add eax, ecx
add ebp, edx
mov ecx, eax
and ecx, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, dword [esp + 0x18]
shr edx, cl
movzx ecx, word [esi + edx*4 + 4]
mov word [ebp], cx
movzx ecx, byte [esi + edx*4 + 6]
movzx edx, byte [esi + edx*4 + 7]
add eax, ecx
add ebp, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
jmp 0x445150
cmp eax, 0x20
ja 0x445272
cmp edi, dword [esp + 0x2c]
jb 0x445252
mov ecx, eax
shr ecx, 3
sub edi, ecx
mov ebx, dword [edi]
and eax, 7
jmp 0x445280
cmp edi, edx
je 0x445272
mov ecx, eax
shr ecx, 3
mov ebx, edi
sub ebx, ecx
cmp ebx, edx
jae 0x445267
mov ecx, edi
sub ecx, edx
sub edi, ecx
mov ebx, dword [edi]
neg ecx
lea eax, [eax + ecx*8]
jmp 0x445280
mov ebx, dword [esp + 0x1c]
jmp 0x445280
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
sub ecx, ebp
cmp ecx, 2
jb 0x445395
nop
cmp eax, 0x20
jbe 0x44529c
mov ecx, 3
jmp 0x4452ed
cmp edi, dword [esp + 0x2c]
jb 0x4452b0
mov edx, eax
shr edx, 3
sub edi, edx
and eax, 7
xor ecx, ecx
jmp 0x4452eb
cmp edi, edx
jne 0x4452be
cmp eax, 0x20
sbb ecx, ecx
add ecx, 2
jmp 0x4452ed
mov ecx, eax
shr ecx, 3
mov ebx, edi
sub ebx, ecx
mov dword [esp + 0x18], 0
cmp ebx, edx
jae 0x4452de
mov ecx, edi
sub ecx, edx
mov edx, 1
jmp 0x4452e2
mov edx, dword [esp + 0x18]
sub edi, ecx
neg ecx
lea eax, [eax + ecx*8]
mov ecx, edx
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
add edx, 0xfffffffe
cmp edx, ebp
mov ebp, dword [esp + 0xc]
sbb edx, edx
mov dword [esp + 0x18], eax
xor eax, eax
inc edx
test ecx, ecx
sete al
test eax, edx
mov eax, dword [esp + 0x18]
je 0x445348
mov ecx, eax
and ecx, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, dword [esp + 0x14]
neg ecx
and ecx, 0x1f
shr edx, cl
mov cx, word [esi + edx*4 + 4]
mov word [ebp], cx
movzx ecx, byte [esi + edx*4 + 6]
movzx edx, byte [esi + edx*4 + 7]
add eax, ecx
add ebp, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
jmp 0x445290
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffe
cmp ebp, ecx
ja 0x445391
mov ecx, dword [esp + 0x14]
neg ecx
and ecx, 0x1f
mov dword [esp + 0x18], ecx
mov ecx, eax
and ecx, 0x1f
mov edx, ebx
shl edx, cl
mov ecx, dword [esp + 0x18]
shr edx, cl
mov cx, word [esi + edx*4 + 4]
mov word [ebp], cx
movzx ecx, byte [esi + edx*4 + 6]
movzx edx, byte [esi + edx*4 + 7]
add eax, ecx
mov ecx, dword [esp + 0x10]
add ebp, edx
add ecx, 0xfffffffe
cmp ebp, ecx
jbe 0x445360
mov edx, dword [esp + 0x28]
cmp ebp, dword [esp + 0x10]
jae 0x4453da
mov ecx, eax
and ecx, 0x1f
shl ebx, cl
mov ecx, dword [esp + 0x14]
neg ecx
and ecx, 0x1f
shr ebx, cl
mov cl, byte [esi + ebx*4 + 4]
mov byte [ebp], cl
cmp byte [esi + ebx*4 + 7], 1
jne 0x4453c4
movzx ecx, byte [esi + ebx*4 + 6]
add eax, ecx
jmp 0x4453da
cmp eax, 0x20
jae 0x4453da
movzx ecx, byte [esi + ebx*4 + 6]
add eax, ecx
cmp eax, 0x20
jbe 0x4453da
mov eax, 0x20
cmp edi, edx
pop edi
pop ebx
jne 0x4453e5
cmp eax, 0x20
je 0x4453ef
mov eax, 0xffffffec
pop ebp
add esp, 0x24
ret
mov eax, dword [esp + 0x30]
pop ebp
add esp, 0x24
ret