Function at 0x100035c7
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x38
mov eax, dword [0x100491b0]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
push ebx
push ebp
mov ebp, dword [0x100491b8]
push esi
mov esi, dword [0x100491c0]
xor edx, edx
push edi
mov edi, dword [0x100491b4]
imul eax, edi
inc edx
mov dword [esp + 0x18], ecx
sub edx, esi
imul edx, esi
lea ecx, [esi + esi]
mov dword [esp + 0x14], ecx
lea ecx, [eax - 1]
imul ecx, dword [0x100491bc]
add ecx, edx
mov edx, ebp
sub edx, dword [0x100491c4]
xor ebx, ebx
lea ecx, [ecx + edx*2]
mov edx, dword [esp + 0x18]
imul ecx, ecx, 0x1f0
movzx ecx, word [ecx + edx + 0x14]
mov edx, ebp
imul edx, dword [0x100491bc]
imul edx, dword [0x100491c4]
inc ebx
sub ebx, edx
imul ebx, edi
imul ebx, ebx, 0xa
sub ebx, dword [0x100491c4]
lea edx, [eax + eax - 2]
imul edx, dword [0x100491bc]
add edx, dword [esp + 0x18]
push 2
pop eax
sub eax, dword [esp + 0x14]
add ebx, ebp
imul eax, esi
lea ecx, [ecx + ebx*4 + 0x18]
mov ebx, dword [0x100491b0]
add edx, ecx
add eax, edx
test byte [0x1004bf3c], 1
mov dword [esp + 0x10], eax
jne 0x1000369a
or dword [0x1004bf3c], 1
lea eax, [edi + 2]
imul eax, ebp
add eax, ebx
add eax, dword [0x100491c4]
add eax, eax
mov dword [0x1004bf38], eax
lea eax, [edi + 1]
imul eax, ebx
mov ecx, ebp
imul ecx, dword [0x100491c4]
sub eax, ecx
mov ecx, dword [0x100491bc]
mov edx, ecx
imul edx, edx, 3
sub eax, edx
sub eax, dword [esp + 0x14]
mov edx, dword [0x1004bf38]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
or eax, dword [edx + 8]
push 2
mov dword [esp + 0x38], eax
pop edx
sub edx, ebx
sub edx, ecx
imul edx, edi
push 3
pop eax
sub eax, ebp
sub eax, esi
imul eax, dword [0x100491c4]
add edx, eax
mov eax, ecx
imul ecx, eax
imul ecx, eax
sub edx, ecx
mov ecx, ebp
imul ecx, ebx
add edx, esi
add ecx, edx
mov edx, dword [esp + 0x4c]
imul ecx, ecx, 5
mov edx, dword [edx + 0x3c]
lea ecx, [ecx + edx - 1]
not ecx
mov edx, ebp
sub edx, eax
sub edx, edi
sub edx, esi
lea eax, [ecx + edx*2]
and eax, dword [esp + 0x34]
push dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [0x100491c4]
imul eax, eax, 5
mov dword [esp + 0x2c], eax
mov eax, ebx
imul eax, ebx
mov ecx, ebp
sub ecx, eax
add ecx, esi
imul ecx, ecx, 0xa0
add ecx, dword [esp + 0x14]
call fcn.100032a3
pop ecx
mov ecx, dword [esp + 0x28]
push 5
pop edx
sub edx, ecx
add ecx, 5
imul edx, ebx
imul ecx, edi
sub edx, ecx
lea ecx, [esi + ebp]
imul ecx, ecx, 0xf
add eax, edx
add eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
and dword [esp + 0x44], 0
add dword [esp + 0x10], 0x28
mov dword [esp + 0x40], eax
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
mov ecx, eax
mov eax, dword [0x100491c4]
sub ecx, edi
mov edx, dword [esp + 0x18]
sub ecx, eax
movzx edx, word [edx + 6]
imul ecx, eax
sub ecx, esi
add ecx, ebp
add ecx, ebx
imul ecx, ecx, 6
add ecx, edx
cmp ecx, 1
jg 0x100037da
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x50]
mov dword [esp + 0x4c], 1
call fcn.10003367
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov eax, dword [0x100491c4]
lea ecx, [eax + eax]
imul eax, esi
inc eax
imul eax, ebx
inc eax
inc eax
imul eax, dword [0x100491bc]
add eax, ecx
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 8]
add eax, edi
add eax, eax
mov ecx, eax
lea eax, [ebp + ebp - 2]
imul eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x14]
add eax, dword [0x1004bf38]
add ecx, edi
shl ecx, 2
sub edx, ecx
or eax, edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx + 0x3c]
mov ecx, ebp
sub ecx, dword [0x100491bc]
push dword [esp + 0x4c]
sub ecx, edi
sub ecx, esi
dec edx
not edx
lea ecx, [edx + ecx*2]
and ecx, eax
mov dword [esp + 0x1c], ecx
lea ecx, [edi + ebp]
mov dword [esp + 0x34], ecx
lea edx, [edi + esi]
mov dword [esp + 0x24], edx
lea edx, [ecx + 1]
imul edx, dword [0x100491c4]
lea ecx, [esi - 1]
imul ecx, edi
mov dword [esp + 0x2c], eax
mov eax, esi
imul eax, eax, 3
sub ecx, edx
sub ecx, dword [0x100491bc]
mov dword [esp + 0x30], eax
imul eax, eax, 0x50
add ecx, ebx
imul ecx, ecx, 0x78
sub ecx, eax
add ecx, dword [esp + 0x14]
call fcn.100032a3
mov edx, ebx
imul edx, dword [0x100491c4]
inc edx
imul edx, ebx
add edx, dword [esp + 0x24]
pop ecx
imul edx, ebp
sub edx, dword [0x100491bc]
lea ecx, [edi + edi]
add edx, ecx
mov ecx, dword [0x100491c4]
add edx, ecx
add edx, esi
imul edx, edx, 6
add eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], eax
je 0x10003969
mov edx, ebp
imul edx, edx, 3
sub edx, 6
imul edx, ecx
mov ecx, dword [esp + 0x2c]
add ecx, 6
imul ecx, esi
sub edx, ecx
mov ecx, dword [esp + 0x30]
imul ecx, ecx, 3
sub edx, ecx
mov ecx, dword [esp + 0x34]
add edx, eax
mov eax, dword [esp + 0x3c]
add eax, ecx
cmp eax, edx
ja 0x10003969
sub esi, ebp
imul esi, dword [0x100491bc]
add esi, dword [esp + 0x14]
imul esi, esi, 0x64
lea eax, [esp + esi + 0x34]
push eax
push dword [esp + 0x50]
call fcn.10003367
pop ecx
pop ecx
test eax, eax
je 0x10003a69
mov eax, dword [esp + 0x28]
mov esi, dword [0x100491c0]
mov edi, dword [0x100491b4]
mov ebx, dword [0x100491b0]
mov ebp, dword [0x100491b8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
lea ecx, [esi + esi]
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x14], ecx
mov ecx, dword [0x100491c4]
mov dword [esp + 0x40], eax
jmp 0x10003a32
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x18], eax
lea eax, [edi + 1]
imul eax, ebp
lea ecx, [edi + edi + 2]
imul ecx, dword [0x100491bc]
add eax, esi
lea eax, [eax + eax + 0x2000000]
sub eax, ecx
mov ecx, dword [0x100491c4]
lea edx, [ebx + ebx - 2]
imul edx, ecx
add eax, edx
test dword [esp + 0x18], eax
je 0x100039cc
mov eax, dword [esp + 0x20]
imul eax, dword [0x100491bc]
mov edx, dword [esp + 0x40]
sub eax, ebp
add eax, edi
add eax, esi
imul eax, eax, 3
add eax, 0x2000000
test edx, eax
je 0x100039cc
or edx, dword [esp + 0x18]
jmp 0x100039f8
lea eax, [edi + edi + 6]
imul eax, dword [0x100491bc]
lea edx, [ebx + ebp]
add edx, edx
sub edx, eax
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x40]
add ecx, ecx
sub edx, ecx
mov ecx, dword [0x100491c4]
sub edx, 0x2000001
and edx, eax
mov eax, edi
imul eax, esi
mov dword [esp + 0x40], edx
add eax, ebx
add eax, edi
lea edx, [esi + esi + 4]
imul edx, ebp
add eax, esi
add eax, eax
sub eax, edx
mov edx, dword [0x100491bc]
shl edx, 2
sub eax, edx
lea edx, [ecx + ecx]
sub eax, edx
sub eax, dword [esp + 0x34]
add eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
xor eax, eax
inc eax
sub eax, edi
sub eax, ecx
imul eax, ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
inc dword [esp + 0x1c]
add dword [esp + 0x10], 0x28
sub eax, esi
add eax, ebp
add eax, ebx
imul eax, eax, 6
add eax, ecx
cmp dword [esp + 0x1c], eax
jl 0x100037d5
jmp 0x100037af
xor eax, eax
jmp 0x100037cd