Function at 0x54d07f
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, edx
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
sub edx, esi
push edi
cmp edx, 4
jl 0x54d5e6
movzx edi, byte [esi + 3]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
movzx eax, byte [esi + 1]
shl edi, 8
or edi, eax
movzx eax, byte [esi]
shl edi, 8
or edi, eax
mov dword [ebx + 4], edi
push 0x10
pop eax
cmp edi, 0xc
je 0x54d0ec
cmp edi, 0x28
je 0x54d0ec
cmp edi, 0x34
je 0x54d0ec
cmp edi, 0x38
je 0x54d0ec
cmp edi, 0x6c
je 0x54d0ec
cmp edi, 0x7c
je 0x54d0ec
cmp edi, eax
je 0x54d0ec
cmp edi, 0x40
jne 0x54d5f3
cmp edx, edi
jb 0x54d5e6
and dword [ebx + 0x18], 0
push 0x10
pop edx
cmp edi, 0xc
jne 0x54d12a
movzx ecx, byte [esi + 5]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
movzx ecx, byte [esi + 7]
movzx eax, byte [esi + 6]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x10], ecx
movzx ecx, byte [esi + 0xb]
movzx eax, byte [esi + 0xa]
jmp 0x54d181
movzx eax, word [ebx + 0x14]
mov dword [ebp + 0x10], eax
cmp edi, edx
jb 0x54d192
movzx ecx, byte [esi + 7]
movzx eax, byte [esi + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
movzx ecx, byte [esi + 0xb]
movzx eax, byte [esi + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 8]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x10], ecx
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0xe]
shl cx, 8
or cx, ax
movzx eax, cx
mov dword [ebp + 0x10], eax
mov word [ebx + 0x14], cx
cmp ax, dx
jne 0x54d1ae
mov dword [ebx + 0x2c], 0x7c00
mov dword [ebx + 0x30], 0x3e0
mov dword [ebx + 0x34], 0x1f
jmp 0x54d1c9
cmp ax, 0x18
jb 0x54d1cd
mov dword [ebx + 0x2c], 0xff0000
mov dword [ebx + 0x30], 0xff00
mov dword [ebx + 0x34], 0xff
and dword [ebx + 0x38], 0
cmp edi, 0x28
jb 0x54d2d1
movzx ecx, byte [esi + 0x13]
movzx eax, byte [esi + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x10]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x18], ecx
movzx ecx, byte [esi + 0x17]
movzx eax, byte [esi + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x14]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [esi + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x19]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x18]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
movzx ecx, byte [esi + 0x1f]
movzx eax, byte [esi + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x1d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x1c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x24], ecx
movzx edx, byte [esi + 0x23]
movzx eax, byte [esi + 0x22]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 0x21]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 0x20]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x28], edx
cmp ax, 0x20
jb 0x54d2a8
test edx, edx
je 0x54d2a2
push edx
movzx eax, ax
push eax
push str.Suspect_BMP_header__bitcount_d__colors_d
push dword [ebp - 4]
call fcn.004f6fc4
add esp, 0x10
and dword [ebx + 0x28], 0
jmp 0x54d2d1
movzx ecx, ax
xor eax, eax
inc eax
shl eax, cl
cmp edx, eax
jbe 0x54d2d1
push edx
push ecx
push str.Suspect_BMP_header__bitcount_d__colors_d
push dword [ebp - 4]
call fcn.004f6fc4
mov cl, byte [ebx + 0x14]
xor eax, eax
inc eax
add esp, 0x10
shl eax, cl
mov dword [ebx + 0x28], eax
cmp edi, 0x34
je 0x54d2e9
cmp edi, 0x38
je 0x54d2e9
cmp edi, 0x6c
je 0x54d2e9
cmp edi, 0x7c
jne 0x54d380
movzx ecx, byte [esi + 0x2b]
movzx eax, byte [esi + 0x2a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x29]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x28]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x2c], ecx
movzx ecx, byte [esi + 0x2f]
movzx eax, byte [esi + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x2d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x2c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x30], ecx
movzx ecx, byte [esi + 0x33]
movzx eax, byte [esi + 0x32]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x31]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x30]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34], ecx
cmp edi, 0x38
je 0x54d35e
cmp edi, 0x6c
je 0x54d35e
cmp edi, 0x7c
jne 0x54d380
movzx ecx, byte [esi + 0x37]
movzx eax, byte [esi + 0x36]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x35]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x34]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x38], ecx
cmp edi, 0x6c
jb 0x54d56a
movzx ecx, byte [esi + 0x3b]
shl ecx, 8
movzx eax, byte [esi + 0x3a]
or ecx, eax
movzx eax, byte [esi + 0x39]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x38]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x33c], ecx
movzx ecx, byte [esi + 0x3f]
shl ecx, 8
movzx eax, byte [esi + 0x3e]
or ecx, eax
movzx eax, byte [esi + 0x3d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x3c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x340], ecx
movzx ecx, byte [esi + 0x43]
movzx eax, byte [esi + 0x42]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x41]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x40]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x344], ecx
movzx ecx, byte [esi + 0x47]
movzx eax, byte [esi + 0x46]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x45]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x44]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x348], ecx
movzx ecx, byte [esi + 0x4b]
movzx eax, byte [esi + 0x4a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x49]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x48]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34c], ecx
movzx ecx, byte [esi + 0x4f]
movzx eax, byte [esi + 0x4e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x4d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x4c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x350], ecx
movzx ecx, byte [esi + 0x53]
movzx eax, byte [esi + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x51]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x50]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x354], ecx
movzx ecx, byte [esi + 0x57]
movzx eax, byte [esi + 0x56]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x55]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x54]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x358], ecx
movzx ecx, byte [esi + 0x5b]
movzx eax, byte [esi + 0x5a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x59]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x58]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x35c], ecx
movzx ecx, byte [esi + 0x5f]
movzx eax, byte [esi + 0x5e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x5d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x5c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x360], ecx
movzx ecx, byte [esi + 0x63]
movzx eax, byte [esi + 0x62]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x61]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x60]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x364], ecx
movzx ecx, byte [esi + 0x67]
movzx eax, byte [esi + 0x66]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x65]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x64]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x368], ecx
movzx ecx, byte [esi + 0x6b]
movzx eax, byte [esi + 0x6a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x69]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x68]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x36c], ecx
cmp edi, 0x7c
jb 0x54d5de
movzx ecx, byte [esi + 0x6f]
movzx eax, byte [esi + 0x6e]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x6d]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x6c]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x370], ecx
movzx ecx, byte [esi + 0x73]
movzx eax, byte [esi + 0x72]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x71]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x70]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x374], ecx
movzx ecx, byte [esi + 0x77]
movzx eax, byte [esi + 0x76]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x75]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x74]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x378], ecx
lea eax, [edi + esi]
pop edi
pop esi
pop ebx
leave
ret
push str.premature_end_in_info_header_in_bmp_image
push 2
push ecx
call fcn.004f715e
push edi
push str.unknown_header_version___u__in_bmp_image
push 2
push ecx
call fcn.004f715e
int3