Function at 0x10072e50
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x38]
push ebx
mov ebx, ecx
mov ecx, dword [esp + 0x38]
push ebp
push esi
push edi
mov cl, byte [ecx + 4]
lea edx, [ebx + 0x14]
mov edi, dword [eax]
movzx eax, cl
imul eax, eax, 0xd8
mov byte [esp + 0x13], cl
mov byte [ebx + 8], cl
xor ecx, ecx
mov dword [esp + 0x18], eax
lea esi, [ecx + 4]
lea eax, [eax + 0x1009ab18]
mov dword [ebx], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
lea ecx, [ecx + 4]
lea edx, [edx + 0x40]
mov eax, dword [ecx + eax - 4]
mov dword [edx - 0x40], eax
sub esi, 1
jne 0x10072e91
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 4
test al, 1
je 0x10072ec2
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x14]
movzx eax, byte [eax + 1]
btr ecx, eax
mov dword [ebx + 0x14], ecx
mov edx, dword [esp + 0x48]
lea esi, [edi + 0x9c]
xor eax, eax
mov dword [esp + 0x30], esi
add edx, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edx
xor ecx, ecx
mov dword [esp + 0x28], esi
lea ebp, [ebx + 0x114]
mov dword [esp + 0x20], ecx
lea ebp, [ebp + eax*8]
mov dword [esp + 0x24], edx
nop dword [eax]
test dword [edx], 0x300
je 0x1007317a
mov ecx, dword [esi]
mov dword [esp + 0x4c], ecx
test ecx, 0x300
je 0x1007329c
mov dword [ebp], ecx
mov eax, dword [edx]
mov edx, eax
mov esi, eax
shr ecx, 0xa
shr esi, 0x18
mov dword [esp + 0x38], esi
xor esi, esi
shr edx, 0x10
mov dword [ebp + 4], eax
mov byte [esp + 0x1c], 0xf
mov dword [esp + 0x3c], 0xff
test cl, 1
jne 0x1007328d
mov ecx, eax
shr ecx, 8
test cl, 1
je 0x10072ffd
mov ecx, dword [esp + 0x38]
cmp cl, 0x1f
ja 0x1007327e
mov esi, dword [ebx]
movzx ecx, cl
cmp dword [esi + ecx*4 + 0x14], 0
je 0x1007327e
test al, al
jne 0x10072f93
movzx edx, byte [esi + ecx + 0x94]
and eax, 0xffffff00
or edx, eax
mov dword [ebp + 4], edx
shr edx, 0x10
mov eax, dword [ebx]
mov eax, dword [eax + ecx*4 + 0x14]
shr eax, 8
and eax, 0xffffff0f
mov dword [esp + 0x1c], eax
cmp al, 3
ja 0x1007326f
movzx esi, al
shl esi, 6
add esi, 0x14
movzx edi, dl
add esi, ebx
cmp edi, 0x20
jae 0x10073260
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
je 0x10073260
mov ecx, dword [esi + 0x10]
test eax, ecx
jne 0x10073251
mov eax, dword [esi + 0x14]
bts ecx, edi
bts eax, edi
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
mov eax, dword [esi + 8]
bts eax, edi
mov dword [esi + 8], eax
jmp 0x100730ee
test al, al
jne 0x10073012
mov ecx, dword [esp + 0x4c]
and eax, 0xffffff00
movzx ecx, cl
or eax, ecx
mov dword [ebp + 4], eax
movzx eax, al
mov dword [esp + 0x38], eax
mov dl, byte [eax + 0x1009e348]
mov eax, dword [esp + 0x4c]
movzx eax, al
mov dword [esp + 0x4c], eax
movzx ecx, dl
mov al, byte [eax + 0x1009e348]
cmp dl, al
movzx edi, al
mov al, byte [esp + 0x13]
not al
cmovae edi, ecx
and eax, 1
lea eax, [eax*4 + 4]
cmp edi, eax
jbe 0x100730bb
mov eax, dword [esp + 0x38]
add eax, 0xffffffe0
cmp eax, 9
ja 0x10073067
mov eax, dword [esp + 0x4c]
add eax, 0xffffffe0
cmp eax, 9
jbe 0x100730bb
cmp edi, 8
ja 0x1007307c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab58]
test eax, eax
je 0x10073081
jmp 0x100730da
cmp edi, 0x10
ja 0x10073091
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab5c]
test eax, eax
je 0x10073096
jmp 0x100730da
cmp edi, 0x20
ja 0x100730a6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab60]
test eax, eax
je 0x100730af
jmp 0x100730da
cmp edi, 0x40
ja 0x1007329c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab64]
jmp 0x100730d2
mov eax, dword [esp + 0x18]
cmp edi, 4
ja 0x100730cc
mov eax, dword [eax + 0x1009ab44]
jmp 0x100730d2
mov eax, dword [eax + 0x1009ab48]
test eax, eax
je 0x1007329c
movzx ecx, byte [ebx + 0xb]
mov edi, dword [esp + 0x3c]
shr eax, 8
and eax, 0xf
bts ecx, eax
mov byte [ebx + 0xb], cl
mov ecx, dword [ebp]
mov eax, ecx
shr eax, 8
test al, 1
je 0x10073157
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx edx, al
mov eax, dword [ebx]
mov eax, dword [eax + ecx*4 + 0x14]
shr eax, 8
and al, 0xf
cmp byte [esp + 0x1c], al
jne 0x10073134
mov eax, dword [esp + 0x14]
mov byte [edx + esi + 0x20], al
mov eax, dword [esi + 0xc]
btc eax, edx
mov dword [esi + 0xc], eax
cmp edi, edx
jne 0x10073162
or dword [ebp], 0x800
jmp 0x10073162
cmp al, 3
ja 0x1007329c
movzx ecx, al
mov eax, dword [esp + 0x14]
shl ecx, 6
add ecx, ebx
mov byte [ecx + edx + 0x34], al
mov eax, dword [ecx + 0x20]
btc eax, edx
mov dword [ecx + 0x20], eax
jmp 0x10073162
test esi, esi
je 0x1007315e
inc byte [esi + 0x19]
mov byte [ebx + 9], 1
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
inc eax
mov ecx, dword [esp + 0x20]
add ebp, 8
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], eax
inc ecx
add edx, 4
add esi, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
cmp ecx, 4
jb 0x10072f00
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
inc ecx
mov edx, dword [esp + 0x34]
add esi, 0x10
add edx, 0x10
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edx
cmp ecx, 0x10
jb 0x10072ee1
mov edi, dword [esp + 0x44]
lea ecx, [ebx + 0x24]
mov esi, 4
lea edx, [edi + 0x30]
nop dword [eax]
mov eax, dword [edx + 0x10]
lea edx, [edx + 4]
not eax
lea ecx, [ecx + 0x40]
or eax, dword [edx - 4]
and eax, dword [ecx - 0x50]
or eax, dword [ecx - 0x44]
or eax, dword [ecx - 0x40]
mov dword [ecx - 0x4c], eax
sub esi, 1
jne 0x100731d0
cmp byte [ebx + 9], 0
je 0x1007320b
mov al, byte [edi + 0xd]
cmp al, byte [edi + 0xa]
jb 0x1007320b
mov eax, dword [edi]
shr eax, 4
mov byte [esp + 0x4c], 1
test al, 1
je 0x10073210
mov byte [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
lea esi, [ebx + 0x20]
movzx edi, byte [edi + 6]
movzx edx, byte [eax + 4]
mov dword [esp + 0x3c], edx
cmp edi, 0xff
je 0x10073238
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
jne 0x10073251
mov ebp, 1
mov ecx, edx
shl ebp, cl
cmp edx, 0xff
je 0x100732b0
test dword [ebx + 0x24], ebp
lea ecx, [ebx + 0x24]
je 0x100732ab
pop edi
pop esi
pop ebp
mov eax, 0x41
pop ebx
add esp, 0x30
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0x1d
pop ebx
add esp, 0x30
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x30
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x30
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 0x19
pop ebx
add esp, 0x30
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x30
ret 0xc
lea esi, [ebx + 0x20]
jmp 0x100732be
cmp byte [esp + 0x4c], 0
je 0x100733d8
lea ecx, [ebx + 0x24]
mov ah, byte [esp + 0x13]
mov al, ah
not ah
not al
and ah, 1
and al, 1
or ah, 6
add al, al
mov byte [esp + 0x13], ah
add al, 0x27
mov byte [esp + 0x48], al
mov eax, dword [esp + 0x14]
mov byte [ebx + 0xd], al
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 4
and al, 1
mov byte [ebx + 0xa], al
mov eax, dword [esp + 0x14]
mov dword [ebx + eax*8 + 0x114], 0
mov dword [ebx + eax*8 + 0x118], 0
cmp edi, 0xff
jne 0x10073348
cmp edx, edi
je 0x10073322
test dword [esi], ebp
jne 0x10073322
mov edi, edx
lea ecx, [ebx + 0x24]
jmp 0x10073348
mov eax, dword [esi]
mov edi, dword [ebx + 0x18]
not eax
and eax, edi
jne 0x10073345
mov eax, edi
not eax
and eax, dword [ebx + 0x14]
jne 0x10073345
pop edi
pop esi
pop ebp
mov eax, 0x40
pop ebx
add esp, 0x30
ret 0xc
bsf edi, eax
movzx eax, byte [esp + 0x48]
movzx ebp, byte [esp + 0x13]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, edi
shl ebp, 8
or eax, ebp
shl eax, 0x10
or eax, dword [esp + 0x44]
or eax, 0x100
mov dword [ebx + edx*8 + 0x114], eax
mov eax, edx
mov edx, dword [esp + 0x3c]
mov byte [edi + ebx + 0x34], al
mov eax, dword [esi]
btc eax, edi
mov dword [esi], eax
mov eax, dword [ebx + 0x18]
bts eax, edi
mov dword [ebx + 0x18], eax
cmp edx, 0xff
je 0x100733c6
mov eax, edx
or eax, ebp
mov ebp, dword [esp + 0x14]
shl eax, 0x10
or eax, dword [esp + 0x44]
or eax, 0x100
mov dword [ebx + ebp*8 + 0x118], eax
mov eax, dword [ecx]
bts eax, edx
mov dword [ecx], eax
mov eax, dword [ebx + 0x18]
bts eax, edx
mov dword [ebx + 0x18], eax
mov eax, ebp
inc eax
jmp 0x100733dc
mov eax, dword [esp + 0x14]
or dword [ebx + eax*8 + 0x114], 0x800
inc eax
jmp 0x100733dc
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov dword [ebx + 0x10], eax
test eax, eax
je 0x100734b2
lea edi, [ebx + 0x114]
nop
mov ecx, dword [edi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x48], ecx
test al, 1
je 0x100734a5
mov esi, dword [edi + 4]
mov eax, esi
shr eax, 8
test al, 1
je 0x100734a5
mov edx, dword [ebx]
mov eax, esi
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x44], eax
mov eax, ecx
shr eax, 0x18
shr esi, 0x18
mov edx, dword [edx + eax*4 + 0x14]
mov eax, dword [ebx]
shr edx, 8
and dl, 0xf
mov eax, dword [eax + esi*4 + 0x14]
shr eax, 8
and al, 0xf
cmp dl, al
jne 0x100734a5
mov ecx, dword [esp + 0x44]
movzx eax, dl
mov dword [esp + 0x4c], eax
shl eax, 6
lea esi, [eax + ebx]
mov eax, 1
shl eax, cl
test dword [esi + 0x20], eax
je 0x100734a5
movzx eax, byte [esi + ecx + 0x34]
mov ecx, dword [ebx]
lea eax, [ebx + eax*8]
mov dword [esp + 0x44], eax
movzx eax, byte [eax + 0x11b]
mov eax, dword [ecx + eax*4 + 0x14]
shr eax, 8
and al, 0xf
cmp al, dl
jne 0x100734a5
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
shr eax, 0x10
cmp byte [ecx + 0x11a], al
jne 0x100734a5
inc byte [esi + 0x2c]
movzx eax, byte [ebx + 0xc]
mov ecx, dword [esp + 0x4c]
bts eax, ecx
mov byte [ebx + 0xc], al
inc ebp
add edi, 8
cmp ebp, dword [ebx + 0x10]
jb 0x100733f0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret 0xc