Function at 0x70226dac
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x50], edx
cmp dword [ebp + 0xc], 0
mov dword [ebp - 0x4c], eax
mov edx, ecx
mov ebx, dword [ebp + 8]
je 0x70226dcf
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
test edx, edx
je 0x70226dd7
test ebx, ebx
jne 0x70226df2
xor eax, eax
cmp dword [ebp - 0x4c], 0
je 0x70227073
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1c], 0x18
jmp 0x70226fcd
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x50]
mov dword [ebx], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], edx
mov ecx, 2
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi*4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], eax
lea edi, [ebp - 0x24]
mov ax, word [edx + 4]
mov dword [ebp - 0x1c], 0xffffffff
mov word [ebx + 0x10], ax
mov ax, word [edx + 6]
mov word [ebx + 0x12], ax
mov ax, word [edx + 8]
mov word [ebx + 0x14], ax
mov ax, word [edx + 0xa]
mov word [ebx + 0x16], ax
movzx eax, word [edx + 0xc]
movzx esi, word [edx + 0xe]
mov edx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, esi
mov word [ebp - 0x54], si
sar eax, 9
sar esi, 5
add eax, 0x50
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x54]
and eax, 0x1f
and esi, 0xf
mov dword [ebp - 0x30], eax
mov eax, edx
sar eax, 0xb
dec esi
mov dword [ebp - 0x34], eax
mov eax, edx
sar eax, 5
mov dword [ebp - 0x2c], esi
and eax, 0x3f
mov dword [ebp - 0x38], eax
mov eax, edx
add eax, edx
and eax, 0x3e
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call sym._mktime
mov edx, dword [ebp - 0x58]
mov dword [ebx + 0x18], eax
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x1c], eax
mov eax, dword [edx + 0x14]
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x20], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x28], eax
mov ax, word [edx + 0x24]
mov word [ebx + 0x30], ax
mov eax, dword [edx + 0x26]
mov dword [ebx + 0x34], eax
mov eax, dword [edx + 0x2a]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x38], eax
movzx eax, word [edx + 0x1c]
cmp eax, 0x1ff
jbe 0x70226eeb
mov eax, 0x1ff
mov ecx, eax
lea edi, [ebx + 0x50]
lea esi, [edx + 0x2e]
rep movsb byte es:[edi], byte [esi]
mov byte [ebx + eax + 0x50], 0
movzx eax, word [edx + 0x20]
cmp eax, 0x1ff
jbe 0x70226f0a
mov eax, 0x1ff
mov dword [ebx + 0x40], eax
lea edi, [ebx + 0x250]
movzx ecx, word [edx + 0x1e]
movzx esi, word [edx + 0x1c]
mov dword [ebp - 0x54], edx
lea esi, [esi + ecx + 0x2e]
mov ecx, eax
add esi, edx
rep movsb byte es:[edi], byte [esi]
mov byte [ebx + eax + 0x250], 0
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._mz_zip_reader_is_file_a_directory
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._mz_zip_reader_is_file_encrypted
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._mz_zip_reader_is_file_supported
mov esi, dword [ebx + 0x28]
mov dword [ebx + 0x4c], eax
mov edi, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x38]
mov edx, edi
mov ecx, dword [ebx + 0x2c]
cmp eax, esi
sbb edx, ecx
mov edx, dword [ebp - 0x54]
jae 0x70226f8a
mov eax, esi
mov edi, ecx
mov esi, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
cmp eax, esi
mov dword [ebp - 0x50], esi
mov esi, edi
sbb esi, ecx
jae 0x70226fa0
mov eax, dword [ebp - 0x50]
mov edi, ecx
not eax
or eax, edi
jne 0x70227059
movzx ecx, word [edx + 0x1e]
test ecx, ecx
je 0x70227059
movzx eax, word [edx + 0x1c]
lea eax, [edx + eax + 0x2e]
cmp ecx, 3
ja 0x70226fd4
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x1c], 9
xor eax, eax
jmp 0x70227073
movzx edx, word [eax + 2]
mov di, word [eax]
lea esi, [edx + 4]
cmp ecx, esi
jb 0x70226fc3
dec di
jne 0x70227060
cmp dword [ebp + 0xc], 0
je 0x70226ff5
mov edi, dword [ebp + 0xc]
mov dword [edi], 1
mov ecx, dword [ebx + 0x28]
not ecx
or ecx, dword [ebx + 0x2c]
je 0x70227004
add eax, 4
jmp 0x7022701b
cmp edx, 7
jbe 0x70226fc3
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov dword [ebx + 0x2c], edi
mov dword [ebx + 0x28], esi
add eax, 0xc
sub edx, 8
mov ecx, dword [ebx + 0x20]
not ecx
or ecx, dword [ebx + 0x24]
jne 0x7022703b
cmp edx, 7
jbe 0x70226fc3
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x20], esi
add eax, 8
sub edx, 8
mov ecx, dword [ebx + 0x38]
not ecx
or ecx, dword [ebx + 0x3c]
jne 0x70227059
cmp edx, 7
jbe 0x70226fc3
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], edx
mov eax, 1
jmp 0x70227073
mov edi, 0xfffffffc
add eax, esi
sub edi, edx
add ecx, edi
jne 0x70226fbe
jmp 0x70227059
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret