Function at 0x445270
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x48
push esi
mov esi, dword [ecx + 0x3c]
add esi, ecx
mov dword [ebp - 0x28], edx
push edi
push 1
mov dword [ebp - 4], ecx
movzx eax, word [esi + 6]
add eax, 4
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], eax
lea eax, [eax*8 + 8]
push eax
call fcn.004b6706
mov edi, eax
add esp, 8
mov dword [ebp - 0x14], edi
test edi, edi
je 0x4455a9
mov eax, dword [ebp - 0x18]
mov ecx, 0x20b
mov dword [edi], eax
movzx eax, word [esi + 0x18]
cmp ax, cx
jne 0x445336
mov edx, dword [ebp - 4]
lea eax, [esi + 0x58]
push ecx
push eax
mov ecx, edi
call fcn.00445170
add esp, 8
lea edx, [esi + 0x5c]
cmp dword [esi + 0x84], 4
push ecx
mov ecx, edi
ja 0x44530b
mov eax, dword [esi + 0x54]
add eax, dword [ebp - 4]
push eax
call fcn.00445170
jmp 0x44539c
lea eax, [esi + 0xa8]
push eax
call fcn.00445170
mov eax, dword [esi + 0x54]
lea edx, [esi + 0xb0]
add eax, dword [ebp - 4]
add esp, 4
mov ecx, edi
push eax
call fcn.00445170
mov eax, dword [esi + 0xac]
jmp 0x445399
mov ecx, 0x10b
cmp ax, cx
jne 0x445596
mov edx, dword [ebp - 4]
lea eax, [esi + 0x58]
push ecx
push eax
mov ecx, edi
call fcn.00445170
add esp, 8
lea edx, [esi + 0x5c]
cmp dword [esi + 0x74], 4
push ecx
mov ecx, edi
ja 0x445370
mov eax, dword [esi + 0x54]
add eax, dword [ebp - 4]
push eax
call fcn.00445170
jmp 0x44539c
lea eax, [esi + 0x98]
push eax
call fcn.00445170
mov eax, dword [esi + 0x54]
lea edx, [esi + 0xa0]
add eax, dword [ebp - 4]
add esp, 4
mov ecx, edi
push eax
call fcn.00445170
mov eax, dword [esi + 0x9c]
mov dword [ebp - 0x10], eax
mov eax, esi
mov ecx, 0x3c
add esp, 8
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 8], eax
movzx eax, word [esi + 6]
mov dword [ebp - 0x18], eax
movzx eax, word [esi + 0x14]
add esi, 0x18
add eax, esi
mov esi, dword [ebp - 0x18]
push esi
push 4
mov dword [ebp - 0x20], eax
movd xmm0, eax
pshufd xmm0, xmm0, 0
movaps xmmword [ebp - 0x40], xmm0
call fcn.004b6706
mov edx, eax
add esp, 8
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x44540f
push str.efi_image_parse
push str._s:_Out_of_memory
call fcn.0044b0b0
add esp, 8
push edi
call fcn.004d1211
add esp, 4
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor ecx, ecx
test esi, esi
je 0x4454ce
cmp esi, 0x10
jb 0x4454ce
cmp dword [0x559254], 2
jl 0x4454ce
movaps xmm1, xmmword [0x54bf00]
lea edi, [edx + 0x20]
movaps xmm2, xmmword [0x54bf20]
mov eax, esi
movaps xmm3, xmmword [ebp - 0x40]
and eax, 0xfffffff0
mov edx, eax
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edi, [edi + 0x40]
paddd xmm0, xmm1
pmulld xmm0, xmm2
paddd xmm0, xmm3
movups xmmword [edi - 0x60], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pmulld xmm0, xmm2
paddd xmm0, xmm3
movups xmmword [edi - 0x50], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
add ecx, 0x10
paddd xmm0, xmm1
pmulld xmm0, xmm2
paddd xmm0, xmm3
movups xmmword [edi - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
pmulld xmm0, xmm2
paddd xmm0, xmm3
movups xmmword [edi - 0x30], xmm0
cmp ecx, edx
jl 0x445450
mov edx, dword [ebp - 0xc]
cmp ecx, esi
jge 0x4454eb
mov edi, dword [ebp - 0x20]
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*8]
nop dword [eax + eax]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x4454e0
push 0x445240
push 4
push esi
push edx
call fcn.004eb3f0
add esp, 0x10
xor edi, edi
test esi, esi
je 0x44554e
mov eax, dword [ebp - 8]
mov dword [ebp - 8], eax
nop dword [eax + eax]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x445549
mov edx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x14]
push ecx
lea esi, [edx - 1]
neg edx
add esi, eax
and esi, edx
mov edx, dword [ebp - 4]
lea eax, [ecx + esi]
add eax, edx
add edx, ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00445170
add esp, 8
add dword [ebp - 8], esi
mov esi, dword [ebp - 0x18]
inc edi
cmp edi, esi
jl 0x445510
push dword [ebp - 0xc]
call fcn.004d1211
mov edx, dword [ebp - 8]
add esp, 4
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x28]
lea eax, [edx + esi]
cmp eax, edi
jae 0x445580
mov eax, dword [ebp - 4]
add edx, dword [ebp - 4]
sub eax, esi
push ecx
mov ecx, dword [ebp - 0x14]
add eax, edi
push eax
call fcn.00445170
add esp, 8
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push str.efi_image_parse
push str._s:_Invalid_optional_header_magic__x
call fcn.0044b0b0
add esp, 0xc
push edi
call fcn.004d1211
add esp, 4
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret