Function at 0x100723b0
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 + 0x10099a80]
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 0x100723f1
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 4
test al, 1
je 0x10072422
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 0x100726da
mov ecx, dword [esi]
mov dword [esp + 0x4c], ecx
test ecx, 0x300
je 0x100727fc
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 0x100727ed
mov ecx, eax
shr ecx, 8
test cl, 1
je 0x1007255d
mov ecx, dword [esp + 0x38]
cmp cl, 0x1f
ja 0x100727de
mov esi, dword [ebx]
movzx ecx, cl
cmp dword [esi + ecx*4 + 0x14], 0
je 0x100727de
test al, al
jne 0x100724f3
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 0x100727cf
movzx esi, al
shl esi, 6
add esi, 0x14
movzx edi, dl
add esi, ebx
cmp edi, 0x20
jae 0x100727c0
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
je 0x100727c0
mov ecx, dword [esi + 0x10]
test eax, ecx
jne 0x100727b1
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 0x1007264e
test al, al
jne 0x10072572
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 + 0x1009d2a0]
mov eax, dword [esp + 0x4c]
movzx eax, al
mov dword [esp + 0x4c], eax
movzx ecx, dl
mov al, byte [eax + 0x1009d2a0]
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 0x1007261b
mov eax, dword [esp + 0x38]
add eax, 0xffffffe0
cmp eax, 9
ja 0x100725c7
mov eax, dword [esp + 0x4c]
add eax, 0xffffffe0
cmp eax, 9
jbe 0x1007261b
cmp edi, 8
ja 0x100725dc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10099ac0]
test eax, eax
je 0x100725e1
jmp 0x1007263a
cmp edi, 0x10
ja 0x100725f1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10099ac4]
test eax, eax
je 0x100725f6
jmp 0x1007263a
cmp edi, 0x20
ja 0x10072606
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10099ac8]
test eax, eax
je 0x1007260f
jmp 0x1007263a
cmp edi, 0x40
ja 0x100727fc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10099acc]
jmp 0x10072632
mov eax, dword [esp + 0x18]
cmp edi, 4
ja 0x1007262c
mov eax, dword [eax + 0x10099aac]
jmp 0x10072632
mov eax, dword [eax + 0x10099ab0]
test eax, eax
je 0x100727fc
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 0x100726b7
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 0x10072694
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 0x100726c2
or dword [ebp], 0x800
jmp 0x100726c2
cmp al, 3
ja 0x100727fc
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 0x100726c2
test esi, esi
je 0x100726be
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 0x10072460
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 0x10072441
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 0x10072730
cmp byte [ebx + 9], 0
je 0x1007276b
mov al, byte [edi + 0xd]
cmp al, byte [edi + 0xa]
jb 0x1007276b
mov eax, dword [edi]
shr eax, 4
mov byte [esp + 0x4c], 1
test al, 1
je 0x10072770
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 0x10072798
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi], eax
jne 0x100727b1
mov ebp, 1
mov ecx, edx
shl ebp, cl
cmp edx, 0xff
je 0x10072810
test dword [ebx + 0x24], ebp
lea ecx, [ebx + 0x24]
je 0x1007280b
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 0x1007281e
cmp byte [esp + 0x4c], 0
je 0x10072938
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 0x100728a8
cmp edx, edi
je 0x10072882
test dword [esi], ebp
jne 0x10072882
mov edi, edx
lea ecx, [ebx + 0x24]
jmp 0x100728a8
mov eax, dword [esi]
mov edi, dword [ebx + 0x18]
not eax
and eax, edi
jne 0x100728a5
mov eax, edi
not eax
and eax, dword [ebx + 0x14]
jne 0x100728a5
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 0x10072926
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 0x1007293c
mov eax, dword [esp + 0x14]
or dword [ebx + eax*8 + 0x114], 0x800
inc eax
jmp 0x1007293c
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov dword [ebx + 0x10], eax
test eax, eax
je 0x10072a12
lea edi, [ebx + 0x114]
nop
mov ecx, dword [edi]
mov eax, ecx
shr eax, 8
mov dword [esp + 0x48], ecx
test al, 1
je 0x10072a05
mov esi, dword [edi + 4]
mov eax, esi
shr eax, 8
test al, 1
je 0x10072a05
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 0x10072a05
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 0x10072a05
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 0x10072a05
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
shr eax, 0x10
cmp byte [ecx + 0x11a], al
jne 0x10072a05
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 0x10072950
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret 0xc