Function at 0x1006ffb0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
mov ebx, dword [eax]
mov ecx, dword [eax + 0x1ec]
push edi
mov dword [esp + 0x20], ecx
test byte [ebx + 0x3c], 1
je 0x1006ffd7
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x20]
lea ebp, [ebp + ebp*4]
shl ebp, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebp
mov edx, dword [ecx + ebp + 0x38]
lea eax, [ecx + ebp + 0x1c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], eax
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
test eax, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], edx
je 0x10070021
test eax, eax
je 0x10070034
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test eax, eax
je 0x10070034
cmp dword [ecx], 1
jle 0x10070034
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edi, dword [edx + 0x3c]
mov eax, dword [edx + 0x20]
test edi, edi
je 0x1007004e
cmp dword [esi + 0x3c], 0
je 0x1007004e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [edx + 0x40], 0
je 0x1007005e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov dx, word [esi + 6]
test dh, 0x10
je 0x10070075
test edi, edi
je 0x10070075
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
cmp dword [eax], 0
jne 0x10070084
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x38]
test byte [eax + 6], 1
je 0x10070098
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test edi, edi
je 0x100700b3
cmp dword [ecx], 1
jg 0x100700a9
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100700b3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov dx, word [esi + 6]
and edx, 1
test dx, dx
je 0x100700d1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x100700d1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [esi + 0x30]
test eax, eax
je 0x100700ec
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x30], 0
je 0x100700ec
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10070108
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x30], 0
je 0x10070108
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test edi, edi
je 0x10070130
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1007011d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test edi, edi
je 0x10070130
test dx, dx
je 0x10070130
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x38]
mov ax, word [eax + 6]
test ah, 8
je 0x10070147
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ax, word [esi + 6]
mov edi, dword [esp + 0x38]
test ah, 8
je 0x10070165
mov eax, dword [edi + 0x34]
test eax, eax
je 0x10070165
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
test byte [ecx + ebp + 0x2c], 0x20
lea eax, [ecx + ebp + 0x2c]
mov dword [esp + 0x28], eax
je 0x1007017e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [edi + 0x34]
test eax, eax
je 0x100701f6
mov eax, dword [edi + 0x30]
test eax, eax
je 0x10070196
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x1007018c
test dx, dx
jne 0x1007018c
cmp dword [ecx], 1
jne 0x1007018c
mov eax, edi
test byte [eax + 6], 5
jne 0x1007018c
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x100701bd
cmp byte [eax + 4], 0x74
jne 0x1007018c
mov edx, dword [eax + 0x20]
cmp dword [edx], 1
jl 0x1007018c
mov edx, dword [edi]
mov eax, dword [eax]
mov edx, dword [edx]
cmp edx, dword [eax]
jne 0x1007018c
mov eax, ecx
test eax, eax
jne 0x100701aa
mov eax, dword [esi + 0x30]
test eax, eax
je 0x100701f6
mov edx, dword [eax]
test edx, edx
jle 0x100701f6
mov eax, dword [eax + 4]
add eax, 0x14
cmp word [eax], 0
je 0x1007018c
inc ecx
add eax, 0x18
cmp ecx, edx
jl 0x100701e8
mov eax, dword [esp + 0x10]
push 0
push 0
push 0
mov ecx, dword [eax + ebp + 0x10]
lea edi, [eax + ebp + 0x10]
mov eax, dword [esp + 0x40]
push 0x15
push eax
mov dword [esp + 0x38], edi
mov dword [eax + 0x1ec], ecx
call fcn.1005e2d0
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
add esp, 0x14
mov dword [eax + 0x1ec], edx
mov eax, dword [ecx + 0x34]
test eax, eax
mov dword [esp + 0x38], eax
je 0x100702ca
mov eax, dword [esi + 0x34]
mov edx, dword [esi + 0x40]
mov ebp, dword [esi + 0x30]
mov edi, dword [esi + 0x3c]
mov dword [esp + 0x18], eax
xor eax, eax
push eax
push esi
push ebx
mov dword [esp + 0x2c], edx
mov dword [esi + 0x30], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
call fcn.1005b830
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi + 0x40], ecx
test eax, eax
mov dword [esi + 0x3c], edi
mov dword [esi + 0x30], ebp
mov dword [esi + 0x20], edx
mov byte [esi + 4], 0x74
jne 0x10070294
mov eax, dword [esp + 0x18]
jmp 0x100702a5
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov dword [eax + 0x34], ecx
je 0x100702a2
mov dword [ecx + 0x38], eax
mov dword [eax + 0x38], esi
mov dword [esi + 0x34], eax
mov al, byte [ebx + 0x40]
test al, al
jne 0x100705db
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x34]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x10070242
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp + 0xc]
push ecx
push ebx
call fcn.10029770
mov edx, dword [edi]
push edx
push ebx
call fcn.10029770
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ebp + 0x14]
push ecx
push ebx
call fcn.10029770
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
xor ecx, ecx
add esp, 0x18
mov dword [eax + ebp + 0xc], ecx
mov dword [eax + ebp + 0x14], ecx
lea ebp, [eax + ebp + 0x18]
mov dword [edi], ecx
mov dword [edx], ecx
mov eax, dword [ebp]
cmp eax, ecx
je 0x1007035a
mov cx, word [eax + 0x28]
cmp cx, 1
jne 0x1007034e
mov edx, dword [esp + 0x34]
mov ecx, dword [edx + 0x198]
test ecx, ecx
jne 0x1007033d
mov ecx, edx
mov edx, dword [ecx + 0x20c]
mov dword [eax + 0x48], edx
mov dword [ecx + 0x20c], eax
jmp 0x10070353
dec ecx
mov word [eax + 0x28], cx
mov dword [ebp], 0
mov ebp, esi
mov eax, dword [esp + 0x38]
mov byte [esp + 0x34], 0
mov edi, dword [eax + 0x20]
mov eax, dword [ebp + 0x20]
test eax, eax
mov esi, dword [edi]
mov dword [esp + 0x10], eax
je 0x10070381
mov ecx, dword [esp + 0x28]
mov dl, byte [ecx]
mov byte [esp + 0x34], dl
jmp 0x1007039f
push 0
push 0
push 0
push ebx
call fcn.10061e60
add esp, 0x10
mov dword [ebp + 0x20], eax
test eax, eax
mov dword [esp + 0x10], eax
je 0x100705cd
cmp esi, 1
jle 0x100703ca
mov ecx, dword [esp + 0x3c]
lea edx, [esi - 1]
inc ecx
push ecx
push edx
push eax
push ebx
call fcn.10061f00
mov dword [esp + 0x20], eax
mov dword [ebp + 0x20], eax
mov al, byte [ebx + 0x40]
add esp, 0x10
test al, al
jne 0x100705cd
test esi, esi
jle 0x10070431
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add edi, 8
mov dword [esp + 0x20], esi
lea edx, [eax + ecx + 8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x38]
push eax
push ebx
call fcn.10052280
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ecx, 0x14
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
mov ecx, 0x14
mov edi, edx
add esp, 8
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
add esi, 0x50
add edx, 0x50
dec eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
jne 0x100703e9
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0x34]
mov byte [ecx + edx + 0x2c], al
mov esi, dword [ebp]
xor eax, eax
mov ecx, dword [esi]
mov dword [esp + 0x20], eax
cmp ecx, eax
jle 0x100704a0
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x34]
lea eax, [ecx + edx]
mov ecx, dword [ecx + edx + 4]
test ecx, ecx
jne 0x10070486
mov eax, dword [eax + 8]
push eax
push ebx
call fcn.1003c090
mov edi, eax
push edi
call fcn.1004cdc0
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x40]
add esp, 0xc
mov dword [ecx + edx + 4], edi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov ecx, dword [esi]
inc eax
add edx, 0x18
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
jl 0x10070454
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebp]
mov eax, dword [esi]
push eax
push edi
push ecx
push ebx
call fcn.100706b0
mov eax, dword [esp + 0x50]
add esp, 0x10
test eax, eax
je 0x100704e3
mov edx, dword [esi]
mov eax, dword [ebp + 0x28]
push edx
push edi
push eax
push ebx
call fcn.100706b0
mov ecx, dword [esi]
mov edx, dword [ebp + 0x2c]
push ecx
push edi
push edx
push ebx
call fcn.100705f0
add esp, 0x20
mov dword [ebp + 0x2c], eax
mov eax, dword [esi + 0x30]
test eax, eax
je 0x100704f6
mov dword [ebp + 0x30], eax
mov dword [esi + 0x30], 0
jmp 0x1007050b
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x1007050b
mov ecx, dword [esi]
push ecx
push edi
push eax
push ebx
call fcn.100706b0
add esp, 0x10
mov eax, dword [esi + 0x24]
test eax, eax
je 0x10070524
push 0
push eax
push ebx
call fcn.1005b400
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x1007052c
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1007057d
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x2c], edx
mov dword [ebp + 0x24], eax
mov ecx, dword [esi]
push ecx
push edi
push edx
push ebx
call fcn.100705f0
mov dword [ebp + 0x2c], eax
mov eax, dword [esi + 0x2c]
push 0
push eax
push ebx
call fcn.1005b400
mov ecx, dword [ebp + 0x2c]
push eax
push ecx
push ebx
call fcn.10056c50
mov dword [ebp + 0x2c], eax
mov edx, dword [esi + 0x28]
push 0
push edx
push ebx
call fcn.1005b740
add esp, 0x34
mov dword [ebp + 0x28], eax
jmp 0x100705a0
mov eax, dword [esi]
mov ecx, dword [ebp + 0x24]
push eax
push edi
push ecx
push ebx
call fcn.100705f0
mov edx, dword [esp + 0x44]
mov dword [ebp + 0x24], eax
push edx
push eax
push ebx
call fcn.10056c50
add esp, 0x1c
mov dword [ebp + 0x24], eax
mov al, byte [esi + 6]
and eax, 1
or word [ebp + 6], ax
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x100705bb
mov dword [ebp + 0x3c], eax
mov dword [esi + 0x3c], 0
mov ebp, dword [ebp + 0x34]
mov ecx, dword [esi + 0x34]
test ebp, ebp
mov dword [esp + 0x38], ecx
jne 0x1007035c
mov edx, dword [esp + 0x24]
push edx
push ebx
call fcn.10052140
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret