Function at 0x10072f10
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 + 0x1009ab10]
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 0x10072f51
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 4
test al, 1
je 0x10072f82
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 0x1007323a
mov ecx, dword [esi]
mov dword [esp + 0x4c], ecx
test ecx, 0x300
je 0x1007335c
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 0x1007334d
mov ecx, eax
shr ecx, 8
test cl, 1
je 0x100730bd
mov ecx, dword [esp + 0x38]
cmp cl, 0x1f
ja 0x1007333e
mov esi, dword [ebx]
movzx ecx, cl
cmp dword [esi + ecx*4 + 0x14], 0
je 0x1007333e
test al, al
jne 0x10073053
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 0x1007332f
movzx esi, al
shl esi, 6
add esi, 0x14
movzx edi, dl
add esi, ebx
cmp edi, 0x20
jae 0x10073320
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
je 0x10073320
mov ecx, dword [esi + 0x10]
test eax, ecx
jne 0x10073311
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 0x100731ae
test al, al
jne 0x100730d2
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 + 0x1009e330]
mov eax, dword [esp + 0x4c]
movzx eax, al
mov dword [esp + 0x4c], eax
movzx ecx, dl
mov al, byte [eax + 0x1009e330]
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 0x1007317b
mov eax, dword [esp + 0x38]
add eax, 0xffffffe0
cmp eax, 9
ja 0x10073127
mov eax, dword [esp + 0x4c]
add eax, 0xffffffe0
cmp eax, 9
jbe 0x1007317b
cmp edi, 8
ja 0x1007313c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab50]
test eax, eax
je 0x10073141
jmp 0x1007319a
cmp edi, 0x10
ja 0x10073151
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab54]
test eax, eax
je 0x10073156
jmp 0x1007319a
cmp edi, 0x20
ja 0x10073166
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab58]
test eax, eax
je 0x1007316f
jmp 0x1007319a
cmp edi, 0x40
ja 0x1007335c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1009ab5c]
jmp 0x10073192
mov eax, dword [esp + 0x18]
cmp edi, 4
ja 0x1007318c
mov eax, dword [eax + 0x1009ab3c]
jmp 0x10073192
mov eax, dword [eax + 0x1009ab40]
test eax, eax
je 0x1007335c
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 0x10073217
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 0x100731f4
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 0x10073222
or dword [ebp], 0x800
jmp 0x10073222
cmp al, 3
ja 0x1007335c
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 0x10073222
test esi, esi
je 0x1007321e
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 0x10072fc0
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 0x10072fa1
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 0x10073290
cmp byte [ebx + 9], 0
je 0x100732cb
mov al, byte [edi + 0xd]
cmp al, byte [edi + 0xa]
jb 0x100732cb
mov eax, dword [edi]
shr eax, 4
mov byte [esp + 0x4c], 1
test al, 1
je 0x100732d0
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 0x100732f8
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
jne 0x10073311
mov ebp, 1
mov ecx, edx
shl ebp, cl
cmp edx, 0xff
je 0x10073370
test dword [ebx + 0x24], ebp
lea ecx, [ebx + 0x24]
je 0x1007336b
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 0x1007337e
cmp byte [esp + 0x4c], 0
je 0x10073498
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 0x10073408
cmp edx, edi
je 0x100733e2
test dword [esi], ebp
jne 0x100733e2
mov edi, edx
lea ecx, [ebx + 0x24]
jmp 0x10073408
mov eax, dword [esi]
mov edi, dword [ebx + 0x18]
not eax
and eax, edi
jne 0x10073405
mov eax, edi
not eax
and eax, dword [ebx + 0x14]
jne 0x10073405
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 0x10073486
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 0x1007349c
mov eax, dword [esp + 0x14]
or dword [ebx + eax*8 + 0x114], 0x800
inc eax
jmp 0x1007349c
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov dword [ebx + 0x10], eax
test eax, eax
je 0x10073572
lea edi, [ebx + 0x114]
nop
mov ecx, dword [edi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x48], ecx
test al, 1
je 0x10073565
mov esi, dword [edi + 4]
mov eax, esi
shr eax, 8
test al, 1
je 0x10073565
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 0x10073565
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 0x10073565
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 0x10073565
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
shr eax, 0x10
cmp byte [ecx + 0x11a], al
jne 0x10073565
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 0x100734b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret 0xc