Function at 0x10070410
Capabilities:
Enumerate pe sections

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi]
cmp eax, 3
ja case.default.0x1007041e
jmp dword [eax*4 + 0x100707c8]
mov eax, dword [esi + 0x24]
shr eax, 3
and eax, 0x3f
lea edx, [eax + esi + 0x2c]
mov ecx, 0x3f
mov byte [edx], 0x80
sub ecx, eax
add edx, 1
cmp ecx, 8
jae 0x10070461
push ecx
push 0
push edx
call fcn.10095ce0
add esp, 0xc
mov ecx, esi
call fcn.10068490
push 0x38
push 0
lea eax, [esi + 0x2c]
push eax
jmp 0x10070468
add ecx, 0xfffffff8
push ecx
push 0
push edx
call fcn.10095ce0
movzx ecx, byte [esi + 0x28]
mov byte [esi + 0x67], cl
movzx edx, byte [esi + 0x29]
lea eax, [esi + 0x67]
mov byte [eax - 1], dl
movzx ecx, byte [esi + 0x2a]
sub eax, 1
mov byte [eax - 1], cl
movzx edx, byte [esi + 0x2b]
sub eax, 1
mov byte [eax - 1], dl
movzx ecx, byte [esi + 0x24]
mov byte [esi + 0x6b], cl
movzx edx, byte [esi + 0x25]
lea eax, [esi + 0x6b]
mov byte [eax - 1], dl
movzx ecx, byte [esi + 0x26]
sub eax, 1
sub eax, 1
mov byte [eax], cl
movzx edx, byte [esi + 0x27]
add esp, 0xc
mov ecx, esi
mov byte [eax - 1], dl
call fcn.10068490
mov eax, dword [esi]
sub eax, 0
je 0x10070608
sub eax, 1
jne case.default.0x1007041e
movzx edx, byte [esi + 4]
mov eax, dword [esp + 8]
mov byte [eax + 3], dl
movzx edx, byte [esi + 5]
lea ecx, [eax + 3]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 6]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 7]
mov byte [ecx - 2], dl
movzx edx, byte [esi + 8]
mov byte [eax + 7], dl
movzx edx, byte [esi + 9]
sub ecx, 1
lea ecx, [eax + 7]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0xa]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0xb]
mov byte [ecx - 2], dl
movzx edx, byte [esi + 0xc]
mov byte [eax + 0xb], dl
movzx edx, byte [esi + 0xd]
sub ecx, 1
lea ecx, [eax + 0xb]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0xe]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0xf]
mov byte [ecx - 2], dl
movzx edx, byte [esi + 0x10]
mov byte [eax + 0xf], dl
movzx edx, byte [esi + 0x11]
sub ecx, 1
lea ecx, [eax + 0xf]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x12]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x13]
mov byte [ecx - 2], dl
movzx edx, byte [esi + 0x14]
mov byte [eax + 0x13], dl
movzx edx, byte [esi + 0x15]
sub ecx, 1
lea ecx, [eax + 0x13]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x16]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x17]
mov byte [ecx - 2], dl
movzx edx, byte [esi + 0x18]
sub ecx, 1
mov byte [eax + 0x17], dl
movzx edx, byte [esi + 0x19]
lea ecx, [eax + 0x17]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x1a]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x1b]
sub ecx, 1
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x1c]
mov byte [eax + 0x1b], dl
movzx edx, byte [esi + 0x1d]
lea ecx, [eax + 0x1b]
mov byte [ecx - 1], dl
movzx edx, byte [esi + 0x1e]
sub ecx, 1
sub ecx, 1
mov byte [ecx], dl
movzx edx, byte [esi + 0x1f]
mov byte [ecx - 1], dl
movzx ecx, byte [esi + 0x20]
add eax, 0x1f
mov byte [eax], cl
movzx edx, byte [esi + 0x21]
mov byte [eax - 1], dl
movzx ecx, byte [esi + 0x22]
sub eax, 1
sub eax, 1
mov byte [eax], cl
movzx edx, byte [esi + 0x23]
mov ecx, esi
mov byte [eax - 1], dl
call fcn.10068270
pop esi
ret 4
movzx edx, byte [esi + 4]
mov ecx, dword [esp + 8]
mov byte [ecx + 3], dl
movzx edx, byte [esi + 5]
lea eax, [ecx + 3]
mov byte [eax - 1], dl
movzx edx, byte [esi + 6]
sub eax, 1
mov byte [eax - 1], dl
movzx edx, byte [esi + 7]
mov byte [eax - 2], dl
movzx edx, byte [esi + 8]
mov byte [ecx + 7], dl
movzx edx, byte [esi + 9]
sub eax, 1
lea eax, [ecx + 7]
mov byte [eax - 1], dl
movzx edx, byte [esi + 0xa]
sub eax, 1
mov byte [eax - 1], dl
movzx edx, byte [esi + 0xb]
mov byte [eax - 2], dl
movzx edx, byte [esi + 0xc]
mov byte [ecx + 0xb], dl
movzx edx, byte [esi + 0xd]
sub eax, 1
lea eax, [ecx + 0xb]
mov byte [eax - 1], dl
movzx edx, byte [esi + 0xe]
sub eax, 1
mov byte [eax - 1], dl
movzx edx, byte [esi + 0xf]
mov byte [eax - 2], dl
movzx edx, byte [esi + 0x10]
sub eax, 1
mov byte [ecx + 0xf], dl
movzx edx, byte [esi + 0x11]
lea eax, [ecx + 0xf]
mov byte [eax - 1], dl
movzx edx, byte [esi + 0x12]
sub eax, 1
mov byte [eax - 1], dl
movzx edx, byte [esi + 0x13]
sub eax, 1
mov byte [eax - 1], dl
lea eax, [ecx + 0x13]
movzx ecx, byte [esi + 0x14]
mov byte [eax], cl
movzx edx, byte [esi + 0x15]
mov byte [eax - 1], dl
movzx ecx, byte [esi + 0x16]
sub eax, 1
sub eax, 1
mov byte [eax], cl
movzx edx, byte [esi + 0x17]
mov ecx, esi
mov byte [eax - 1], dl
call fcn.10068270
pop esi
ret 4
mov eax, dword [esi + 0xf0]
shr eax, 3
and eax, 0x7f
lea edx, [eax + esi + 0x2c]
mov ecx, 0x7f
mov byte [edx], 0x80
sub ecx, eax
add edx, 1
cmp ecx, 0x10
jae 0x1007070d
push ecx
push 0
push edx
call fcn.10095ce0
add esp, 0xc
mov ecx, esi
call fcn.10068490
push 0x70
push 0
lea eax, [esi + 0x2c]
push eax
jmp 0x10070714
add ecx, 0xfffffff0
push ecx
push 0
push edx
call fcn.10095ce0
add esp, 0xc
push ebx
push ebp
push edi
lea ecx, [esi + 0x9c]
push ecx
lea edx, [esi + 0xf4]
push edx
call fcn.10067fd0
lea eax, [esi + 0xa4]
push eax
lea ecx, [esi + 0xec]
push ecx
call fcn.10067fd0
add esp, 0x10
mov ecx, esi
call fcn.10068490
mov eax, dword [esi]
sub eax, 2
je 0x10070793
sub eax, 1
jne 0x100707b7
mov ebx, dword [esp + 0x14]
lea edi, [esi + 0xac]
mov ebp, 8
lea ebx, [ebx]
push ebx
push edi
call fcn.10067fd0
add esp, 8
add edi, 8
add ebx, 8
sub ebp, 1
jne 0x10070770
pop edi
pop ebp
pop ebx
mov ecx, esi
call fcn.10068270
pop esi
ret 4
mov ebx, dword [esp + 0x14]
lea edi, [esi + 0xac]
mov ebp, 6
push ebx
push edi
call fcn.10067fd0
add esp, 8
add edi, 8
add ebx, 8
sub ebp, 1
jne 0x100707a2
pop edi
pop ebp
pop ebx
mov ecx, esi
call fcn.10068270
pop esi
ret 4