Function at 0x10003660
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
mov eax, dword [ebx + 0x84]
push edi
test eax, eax
jbe 0x1000374b
mov ebp, dword [ebx + 0x80]
mov esi, dword [esp + 0x34]
add ebp, esi
push 0x14
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1000372b
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x1000372b
add edx, esi
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, edx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edx, dword [ebp]
test edx, edx
jne 0x100036c9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + esi]
add edx, esi
test eax, eax
je 0x10003717
test eax, 0x80000000
je 0x100036e1
mov dword [edx], 0
jmp 0x1000370d
add esi, eax
or ecx, 0xffffffff
xor eax, eax
mov dword [edx], 0
lea edi, [esi + 2]
mov ebx, dword [esp + 0x38]
repne scasb al, byte es:[edi]
not ecx
mov edi, esi
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
mov esi, dword [esp + 0x34]
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [edx + 4]
add edx, 4
test eax, eax
jne 0x100036d2
add ebp, 0x14
push 0x14
push ebp
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10003696
mov ecx, dword [ebx + 0x84]
mov edi, dword [ebx + 0x80]
mov edx, ecx
xor eax, eax
add edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x1000374f
mov esi, dword [esp + 0x34]
mov eax, dword [ebx + 0x7c]
test eax, eax
jbe 0x100037c6
mov ebp, dword [ebx + 0x78]
add ebp, esi
mov eax, dword [ebp + 0x18]
test eax, eax
jbe 0x1000379e
mov edx, dword [ebp + 0x20]
xor ebx, ebx
add edx, esi
test eax, eax
jbe 0x1000379a
mov eax, dword [edx]
or ecx, 0xffffffff
add esi, eax
xor eax, eax
mov edi, esi
add edx, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, esi
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
mov esi, dword [esp + 0x34]
and ecx, 3
inc ebx
rep stosb byte es:[edi], al
cmp ebx, dword [ebp + 0x18]
jb 0x1000376d
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jbe 0x100037ae
mov edi, dword [ebp + 0x1c]
xor eax, eax
add edi, esi
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x7c]
mov edi, dword [ebx + 0x78]
mov edx, ecx
xor eax, eax
add edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [ebx + 0xa4]
test ecx, ecx
jbe 0x100037e8
mov edi, dword [ebx + 0xa0]
mov edx, ecx
xor eax, eax
add edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor eax, eax
xor ebp, ebp
mov ax, word [ebx + 0x14]
mov bp, word [ebx + 6]
xor edx, edx
test ebp, ebp
lea edi, [eax + ebx + 0x18]
jbe 0x10003886
mov byte [esp + 0x10], 0x2e
mov byte [esp + 0x11], 0x72
mov byte [esp + 0x12], 0x65
mov byte [esp + 0x13], 0x6c
mov byte [esp + 0x14], 0x6f
mov byte [esp + 0x15], 0x63
mov byte [esp + 0x16], 0
mov esi, edi
lea eax, [esp + 0x10]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x1000384f
test cl, cl
je 0x1000384b
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x1000384f
add eax, 2
add esi, 2
test cl, cl
jne 0x1000382b
xor eax, eax
jmp 0x10003854
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10003862
inc edx
add edi, 0x28
cmp edx, ebp
jb 0x10003802
jmp 0x1000387e
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 0xc]
mov ebx, dword [esp + 0x34]
mov edx, ecx
xor eax, eax
add edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
jbe 0x100038aa
mov ebp, dword [ebx + 0x88]
mov edi, esi
mov edx, ecx
xor eax, eax
add edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret