Function at 0x548f08
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x1c
mov ebx, ecx
mov edi, dword [esp + 0x30]
movzx ebp, byte [edi]
test ebp, ebp
je 0x548fe4
movzx edx, byte [edi + 2]
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
test dl, 4
je 0x548f3c
movsx eax, word [ebx + 0x28]
add eax, dword [esp]
mov dword [esp + 0xc], eax
jmp 0x548f40
mov dword [esp + 0xc], eax
movzx edx, byte [edi + 3]
mov eax, dword [ebx + 0x1c]
add dword [esp], eax
test dl, 4
je 0x548f5b
movsx eax, word [ebx + 0x2a]
mov edx, dword [esp]
sub edx, eax
mov dword [esp], edx
mov eax, dword [ebx + 0x18]
add eax, dword [ebx + 0x20]
mov dword [esp + 0x10], eax
test ebp, 4
je 0x548f7b
movsx eax, word [ebx + 0x24]
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
movzx eax, byte [edi + 4]
mov dword [esp + 8], eax
push dword [ebx + 0x10]
mov ecx, edi
call fcn.0054c60c
mov dword [esp + 0x14], eax
mov esi, ebp
and esi, 2
xor eax, eax
mov dword [esp + 4], eax
test esi, esi
mov edx, eax
setne dl
mov dword [esp + 4], edx
and ebp, 8
xor eax, eax
mov dword [esp + 0x18], eax
test ebp, ebp
setne al
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x14]
push ebp
mov eax, dword [esp + 0xc]
push eax
push 0
mov eax, dword [esp + 0x24]
push eax
mov eax, edx
push eax
mov edx, dword [esp + 0x24]
push edx
mov eax, dword [esp + 0x18]
push eax
push edx
mov eax, dword [esp + 0x2c]
push eax
mov ecx, ebx
call fcn.005cdb84
movzx ebp, byte [edi + 1]
test ebp, ebp
je 0x5490ab
movzx edx, byte [edi + 2]
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
test dl, 4
je 0x54900c
movsx eax, word [ebx + 0x28]
add eax, dword [esp]
mov dword [esp + 0xc], eax
jmp 0x549010
mov dword [esp + 0xc], eax
movzx edx, byte [edi + 3]
mov eax, dword [ebx + 0x1c]
add dword [esp], eax
test dl, 4
je 0x54902b
movsx eax, word [ebx + 0x2a]
mov edx, dword [esp]
sub edx, eax
mov dword [esp], edx
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], eax
test ebp, 4
je 0x549042
movsx eax, word [ebx + 0x26]
add dword [esp + 0x10], eax
movzx eax, byte [edi + 5]
mov dword [esp + 8], eax
push dword [ebx + 0x10]
mov ecx, edi
call fcn.0054c60c
mov dword [esp + 0x14], eax
mov esi, ebp
and esi, 2
xor eax, eax
mov dword [esp + 0x18], eax
test esi, esi
mov edx, eax
setne dl
mov dword [esp + 0x18], edx
and ebp, 8
xor eax, eax
mov dword [esp + 4], eax
test ebp, ebp
setne al
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x14]
push ebp
mov eax, dword [esp + 0xc]
push eax
push 1
mov eax, dword [esp + 0x10]
push eax
mov eax, edx
push eax
mov edx, dword [esp + 0x24]
push edx
mov eax, dword [esp + 0x18]
push eax
push edx
mov eax, dword [esp + 0x2c]
push eax
mov ecx, ebx
call fcn.005cdb84
movzx ebp, byte [edi + 3]
test ebp, ebp
je 0x549156
mov eax, dword [ebx + 0x14]
add eax, dword [ebx + 0x1c]
mov dword [esp + 0x14], eax
test ebp, 4
je 0x5490d7
movsx eax, word [ebx + 0x2a]
mov edx, dword [esp + 0x14]
sub edx, eax
mov dword [esp + 0x14], edx
movzx ecx, byte [edi]
mov eax, dword [ebx + 0x18]
mov dword [esp + 8], eax
mov edx, dword [ebx + 0x20]
add edx, eax
mov dword [esp + 0x10], edx
test cl, 4
je 0x5490f9
movsx eax, word [ebx + 0x24]
sub edx, eax
mov dword [esp + 0x10], edx
movzx eax, byte [edi + 1]
test al, 4
je 0x549109
movsx eax, word [ebx + 0x26]
add dword [esp + 8], eax
movzx eax, byte [edi + 7]
mov dword [esp + 0xc], eax
push dword [ebx + 0x10]
mov ecx, edi
mov dword [esp + 0x1c], ebp
call fcn.0054c60c
mov esi, ebp
and esi, 2
xor edx, edx
test esi, esi
setne dl
and ebp, 8
xor ecx, ecx
test ebp, ebp
setne cl
push eax
mov eax, dword [esp + 0x10]
push eax
push 0
push ecx
push edx
mov ebp, dword [esp + 0x1c]
push ebp
mov edx, dword [esp + 0x2c]
push edx
mov eax, dword [esp + 0x2c]
push eax
push edx
mov ecx, ebx
call fcn.005cdb84
movzx ebp, byte [edi + 2]
test ebp, ebp
je 0x5491f3
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
test ebp, 4
je 0x549179
movsx eax, word [ebx + 0x28]
add dword [esp + 8], eax
movzx eax, byte [edi]
mov esi, dword [ebx + 0x18]
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x20]
test al, 4
je 0x549196
add esi, dword [esp + 0x10]
movsx eax, word [ebx + 0x24]
sub esi, eax
jmp 0x54919a
add esi, dword [esp + 0x10]
movzx eax, byte [edi + 1]
test al, 4
je 0x5491aa
movsx eax, word [ebx + 0x26]
add dword [esp + 0x10], eax
movzx eax, byte [edi + 6]
mov dword [esp + 0xc], eax
push dword [ebx + 0x10]
mov ecx, edi
mov dword [esp + 0x1c], esi
call fcn.0054c60c
mov edi, ebp
and edi, 2
xor edx, edx
test edi, edi
setne dl
and ebp, 8
xor ecx, ecx
test ebp, ebp
setne cl
push eax
mov eax, dword [esp + 0x10]
push eax
push 1
push ecx
push edx
mov ebp, dword [esp + 0x24]
push ebp
mov eax, dword [esp + 0x20]
push eax
push esi
push eax
mov ecx, ebx
call fcn.005cdb84
add esp, 0x1c
pop ebx
pop ebp
pop esi
pop edi
ret 4