Function at 0x69056c80
Capabilities:
Enumerate pe sections

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
sub esp, 0x58
test byte [0x6907a0e8], 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ecx]
mov dword [ebp - 8], esi
mov esi, dword [ecx + 4]
mov dword [ebp - 4], edi
mov edi, dword [ecx + 8]
mov dword [ebp - 0x10], ecx
jne 0x69056d98
test ebx, ebx
je 0x69056d78
test esi, esi
je 0x69056d78
lea eax, [ebx + 0x34]
mov dword [esp], eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.kernel32.dll_TryAcquireSRWLockExclusive]
sub esp, 4
test al, al
je 0x69056ee8
mov eax, dword [ebx + 0x20]
cmp eax, edi
jbe 0x69056e48
mov eax, dword [ebx + 8]
lea edx, [eax - 1]
cmp edx, 1
ja 0x69056ef8
cmp dword [ebx + 0x24], edi
je 0x69056e9d
mov eax, dword [ebx]
test eax, eax
je 0x69056e90
mov eax, 0x69082190
xor edx, edx
lea ecx, [ebx + 0xc]
jmp 0x69056d25
inc edx
add eax, 0x58
cmp edx, 8
je 0x69056eb8
test byte [eax + 0x24], 2
je 0x69056d18
mov esi, dword [ecx]
cmp dword [eax], esi
jne 0x69056d18
mov esi, dword [ecx + 4]
cmp dword [eax + 4], esi
jne 0x69056d18
mov esi, dword [ecx + 8]
cmp dword [eax + 8], esi
jne 0x69056d18
mov esi, dword [ecx + 0xc]
cmp dword [eax + 0xc], esi
jne 0x69056d18
mov dword [esp + 4], edi
lea eax, [edx + edx*4]
mov dword [esp], ebx
lea eax, [edx + eax*2]
call dword [eax*8 + 0x690821d4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, dword [ebp - 0x20]
sub esp, 4
jmp 0x69056d7d
mov eax, 2
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
lea esp, [ecx - 4]
ret 0xc
test esi, esi
je 0x69056f38
mov eax, esi
shr eax, 0x10
je 0x69056e70
movzx eax, byte [esi + 0xf]
mov dword [esp + 0x2c], eax
movzx eax, byte [esi + 0xe]
mov dword [esp + 0x28], eax
movzx eax, byte [esi + 0xd]
mov dword [esp + 0x24], eax
movzx eax, byte [esi + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0xb]
mov dword [esp + 0x1c], eax
movzx eax, byte [esi + 0xa]
mov dword [esp + 0x18], eax
movzx eax, byte [esi + 9]
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 8]
mov dword [esp + 0x10], eax
movzx eax, word [esi + 6]
mov dword [esp + 0xc], eax
movzx eax, word [esi + 4]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp], str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
mov dword [esp + 0x14], eax
mov eax, str.__p__s__u__n
mov dword [esp + 0xc], eax
mov eax, str.GdipImageSelectActiveFrame
mov dword [esp + 8], eax
mov eax, 0x6907a0e8
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
jmp 0x69056cb1
test byte [0x6907a0e8], 4
jne 0x69057020
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, 2
sub esp, 4
jmp 0x69056d7d
mov dword [esp], str._guid_0x_04hx_
movzx eax, si
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
jmp 0x69056e0d
test byte [0x6907a0e8], 8
jne 0x69057058
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
xor eax, eax
sub esp, 4
jmp 0x69056d7d
movzx eax, byte [0x6907a0e8]
test al, 8
jne 0x69056f78
and al, 4
jne 0x69056f48
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, 1
sub esp, 4
jmp 0x69056d7d
mov eax, 4
jmp 0x69056d7d
test byte [0x6907a0e8], 4
je 0x69056e55
mov dword [esp + 0x10], eax
mov edx, str.GdipImageSelectActiveFrame
mov ecx, 0x6907a0e8
mov dword [esp + 8], edx
mov eax, str.invalid_image_type__d_n
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_6
jmp 0x69056e55
mov eax, 0x6908076a
jmp 0x69056e0d
mov edx, str.GdipImageSelectActiveFrame
mov ecx, 0x6907a0e8
mov dword [esp + 8], edx
mov eax, str.cant_find_decoder_info_n
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_6
jmp 0x69056ecb
lea eax, [ebx + 0xc]
mov edi, eax
shr edi, 0x10
je 0x69057088
movzx eax, byte [ebx + 0x1b]
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0x1a]
mov dword [esp + 0x28], eax
movzx eax, byte [ebx + 0x19]
mov dword [esp + 0x24], eax
movzx eax, byte [ebx + 0x18]
mov dword [esp + 0x20], eax
movzx eax, byte [ebx + 0x17]
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0x16]
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + 0x15]
mov dword [esp + 0x14], eax
movzx eax, byte [ebx + 0x14]
mov dword [esp + 0x10], eax
movzx eax, word [ebx + 0x12]
mov dword [esp + 0xc], eax
movzx eax, word [ebx + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
mov ebx, str.no_match_for_format:__s_n
mov esi, str.get_decoder_info_from_image
mov dword [esp + 0x10], eax
mov edi, 0x6907a0e8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_6
movzx eax, byte [0x6907a0e8]
jmp 0x69056ec7
mov dword [esp + 0x10], edi
mov ebx, str.requested_frame__u__but_image_has_only__u_n
mov esi, str.GdipImageSelectActiveFrame
mov dword [esp + 0x14], eax
mov edi, 0x6907a0e8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_6
jmp 0x69056e55
mov dword [esp], 3
mov eax, str.image_doesnt_have_an_associated_decoder_n
mov dword [esp + 0xc], eax
mov eax, str.GdipImageSelectActiveFrame
mov dword [esp + 8], eax
mov eax, 0x6907a0e8
mov dword [esp + 4], eax
call sym._wine_dbg_log.constprop.0_6
jmp 0x69056e9d
mov dword [esp], str._guid_0x_04hx_
movzx eax, ax
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf_2
jmp 0x69056fe9