406031:	41                   	inc    %ecx
406032:	89 8d 3c fc ff ff    	mov    %ecx,-0x3c4(%ebp)
406038:	3b cf                	cmp    %edi,%ecx
40603a:	7c c0                	jl     0x405ffc
40603c:	6a 02                	push   $0x2
40603e:	5f                   	pop    %edi
40603f:	8b 9d 34 fc ff ff    	mov    -0x3cc(%ebp),%ebx
406045:	33 c0                	xor    %eax,%eax
406047:	8b cb                	mov    %ebx,%ecx
406049:	89 04 93             	mov    %eax,(%ebx,%edx,4)
40604c:	e8 59 bc ff ff       	call   0x401caa
406051:	53                   	push   %ebx
406052:	89 85 34 fc ff ff    	mov    %eax,-0x3cc(%ebp)
406058:	e8 90 05 00 00       	call   0x4065ed
40605d:	8b 9d 34 fc ff ff    	mov    -0x3cc(%ebp),%ebx
406063:	59                   	pop    %ecx
406064:	85 db                	test   %ebx,%ebx
406066:	0f 84 34 01 00 00    	je     0x4061a0
40606c:	8b ce                	mov    %esi,%ecx
40606e:	e8 13 bd ff ff       	call   0x401d86
406073:	8b 8d 40 fc ff ff    	mov    -0x3c0(%ebp),%ecx
406079:	8b f3                	mov    %ebx,%esi
40607b:	8b 95 24 fc ff ff    	mov    -0x3dc(%ebp),%edx
406081:	41                   	inc    %ecx
406082:	8b 85 28 fc ff ff    	mov    -0x3d8(%ebp),%eax
406088:	42                   	inc    %edx
406089:	89 8d 40 fc ff ff    	mov    %ecx,-0x3c0(%ebp)
40608f:	89 95 24 fc ff ff    	mov    %edx,-0x3dc(%ebp)
406095:	3b 10                	cmp    (%eax),%edx
406097:	0f 8c 3b fe ff ff    	jl     0x405ed8
40609d:	33 d2                	xor    %edx,%edx
40609f:	39 13                	cmp    %edx,(%ebx)
4060a1:	74 67                	je     0x40610a
4060a3:	8b 43 fc             	mov    -0x4(%ebx),%eax
4060a6:	8b c8                	mov    %eax,%ecx
4060a8:	89 85 24 fc ff ff    	mov    %eax,-0x3dc(%ebp)
4060ae:	66 39 10             	cmp    %dx,(%eax)
4060b1:	74 2a                	je     0x4060dd
4060b3:	8b d1                	mov    %ecx,%edx
4060b5:	8d 5a 02             	lea    0x2(%edx),%ebx
4060b8:	66 8b 02             	mov    (%edx),%ax
4060bb:	03 d7                	add    %edi,%edx
4060bd:	66 3b 85 18 fc ff ff 	cmp    -0x3e8(%ebp),%ax
4060c4:	75 f2                	jne    0x4060b8
4060c6:	2b d3                	sub    %ebx,%edx
4060c8:	33 c0                	xor    %eax,%eax
4060ca:	d1 fa                	sar    $1,%edx
4060cc:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
4060cf:	83 c1 02             	add    $0x2,%ecx
4060d2:	66 39 01             	cmp    %ax,(%ecx)
4060d5:	75 dc                	jne    0x4060b3
4060d7:	8b 85 24 fc ff ff    	mov    -0x3dc(%ebp),%eax
4060dd:	8b 9d 28 fc ff ff    	mov    -0x3d8(%ebp),%ebx
4060e3:	2b c8                	sub    %eax,%ecx
4060e5:	03 cf                	add    %edi,%ecx
4060e7:	83 e1 fe             	and    $0xfffffffe,%ecx
4060ea:	51                   	push   %ecx
4060eb:	50                   	push   %eax
4060ec:	ff 73 08             	push   0x8(%ebx)
4060ef:	ff b5 30 fc ff ff    	push   -0x3d0(%ebp)
4060f5:	ff b5 20 fc ff ff    	push   -0x3e0(%ebp)
4060fb:	ff 15 c0 80 40 00    	call   *0x4080c0
406101:	85 c0                	test   %eax,%eax
406103:	75 2f                	jne    0x406134
406105:	e9 96 00 00 00       	jmp    0x4061a0
40610a:	52                   	push   %edx
40610b:	52                   	push   %edx
40610c:	ff 70 08             	push   0x8(%eax)
40610f:	8b f3                	mov    %ebx,%esi
406111:	ff b5 30 fc ff ff    	push   -0x3d0(%ebp)
406117:	ff b5 20 fc ff ff    	push   -0x3e0(%ebp)
40611d:	ff 15 c0 80 40 00    	call   *0x4080c0
406123:	85 c0                	test   %eax,%eax
406125:	75 07                	jne    0x40612e
406127:	eb 7f                	jmp    0x4061a8
406129:	6a 03                	push   $0x3
40612b:	5f                   	pop    %edi
40612c:	eb 72                	jmp    0x4061a0
40612e:	8b 9d 28 fc ff ff    	mov    -0x3d8(%ebp),%ebx
406134:	33 c0                	xor    %eax,%eax
406136:	ff 43 10             	incl   0x10(%ebx)
406139:	8b f8                	mov    %eax,%edi
40613b:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
406141:	50                   	push   %eax
406142:	68 10 14 40 00       	push   $0x401410
406147:	ff 15 bc 81 40 00    	call   *0x4081bc
40614d:	33 c0                	xor    %eax,%eax
40614f:	8b d8                	mov    %eax,%ebx
406151:	59                   	pop    %ecx
406152:	59                   	pop    %ecx
406153:	39 06                	cmp    %eax,(%esi)
406155:	74 3d                	je     0x406194
406157:	8b c6                	mov    %esi,%eax
406159:	89 b5 30 fc ff ff    	mov    %esi,-0x3d0(%ebp)
40615f:	85 db                	test   %ebx,%ebx
406161:	7e 12                	jle    0x406175
406163:	68 20 14 40 00       	push   $0x401420
406168:	ff 15 bc 81 40 00    	call   *0x4081bc
40616e:	8b 85 30 fc ff ff    	mov    -0x3d0(%ebp),%eax
406174:	59                   	pop    %ecx
406175:	ff 30                	push   (%eax)
406177:	68 24 14 40 00       	push   $0x401424
40617c:	ff 15 bc 81 40 00    	call   *0x4081bc
406182:	43                   	inc    %ebx
406183:	59                   	pop    %ecx
406184:	59                   	pop    %ecx
406185:	33 c9                	xor    %ecx,%ecx
406187:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
40618a:	89 85 30 fc ff ff    	mov    %eax,-0x3d0(%ebp)
406190:	39 08                	cmp    %ecx,(%eax)
406192:	75 cb                	jne    0x40615f
406194:	68 2c 14 40 00       	push   $0x40142c
406199:	ff 15 bc 81 40 00    	call   *0x4081bc
40619f:	59                   	pop    %ecx
4061a0:	85 f6                	test   %esi,%esi
4061a2:	0f 84 0f fd ff ff    	je     0x405eb7
4061a8:	8b ce                	mov    %esi,%ecx
4061aa:	e8 d7 bb ff ff       	call   0x401d86
4061af:	e9 03 fd ff ff       	jmp    0x405eb7
4061b4:	cc                   	int3
4061b5:	cc                   	int3
4061b6:	cc                   	int3
4061b7:	cc                   	int3
4061b8:	cc                   	int3
4061b9:	cc                   	int3
4061ba:	cc                   	int3
4061bb:	cc                   	int3
4061bc:	cc                   	int3
4061bd:	cc                   	int3
4061be:	cc                   	int3
4061bf:	cc                   	int3
4061c0:	8b ff                	mov    %edi,%edi
4061c2:	55                   	push   %ebp
4061c3:	8b ec                	mov    %esp,%ebp
4061c5:	83 ec 14             	sub    $0x14,%esp
4061c8:	53                   	push   %ebx
4061c9:	56                   	push   %esi
4061ca:	57                   	push   %edi
4061cb:	8b 7d 14             	mov    0x14(%ebp),%edi
4061ce:	33 f6                	xor    %esi,%esi
4061d0:	85 ff                	test   %edi,%edi
4061d2:	7e 20                	jle    0x4061f4
4061d4:	8b 45 18             	mov    0x18(%ebp),%eax
4061d7:	68 b0 11 40 00       	push   $0x4011b0
4061dc:	ff 30                	push   (%eax)
4061de:	8d 58 04             	lea    0x4(%eax),%ebx
4061e1:	ff 15 dc 81 40 00    	call   *0x4081dc
4061e7:	59                   	pop    %ecx
4061e8:	59                   	pop    %ecx
4061e9:	85 c0                	test   %eax,%eax
4061eb:	74 11                	je     0x4061fe
4061ed:	46                   	inc    %esi
4061ee:	8b c3                	mov    %ebx,%eax
4061f0:	3b f7                	cmp    %edi,%esi
4061f2:	7c e3                	jl     0x4061d7
4061f4:	6a 03                	push   $0x3
4061f6:	58                   	pop    %eax
4061f7:	5f                   	pop    %edi
4061f8:	5e                   	pop    %esi
4061f9:	5b                   	pop    %ebx
4061fa:	c9                   	leave
4061fb:	c2 14 00             	ret    $0x14
4061fe:	2b fe                	sub    %esi,%edi
406200:	89 5d f0             	mov    %ebx,-0x10(%ebp)
406203:	4f                   	dec    %edi
406204:	89 7d ec             	mov    %edi,-0x14(%ebp)
406207:	85 f6                	test   %esi,%esi
406209:	74 e9                	je     0x4061f4
40620b:	85 ff                	test   %edi,%edi
40620d:	74 e5                	je     0x4061f4
40620f:	8b 55 0c             	mov    0xc(%ebp),%edx
406212:	8d 45 ec             	lea    -0x14(%ebp),%eax
406215:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
406219:	33 ff                	xor    %edi,%edi
40621b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40621f:	47                   	inc    %edi
406220:	50                   	push   %eax
406221:	68 b0 5d 40 00       	push   $0x405db0
406226:	ff 75 18             	push   0x18(%ebp)
406229:	89 7d f4             	mov    %edi,-0xc(%ebp)
40622c:	56                   	push   %esi
40622d:	6a 02                	push   $0x2
40622f:	e8 ab be ff ff       	call   0x4020df
406234:	8b f0                	mov    %eax,%esi
406236:	85 f6                	test   %esi,%esi
406238:	75 56                	jne    0x406290
40623a:	39 45 f8             	cmp    %eax,-0x8(%ebp)
40623d:	74 1d                	je     0x40625c
40623f:	ff 75 fc             	push   -0x4(%ebp)
406242:	ff 75 f8             	push   -0x8(%ebp)
406245:	68 a3 f0 00 00       	push   $0xf0a3
40624a:	57                   	push   %edi
40624b:	e8 29 0c 00 00       	call   0x406e79
406250:	59                   	pop    %ecx
406251:	50                   	push   %eax
406252:	e8 86 b7 ff ff       	call   0x4019dd
406257:	83 c4 10             	add    $0x10,%esp
40625a:	eb 34                	jmp    0x406290
40625c:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406260:	74 1a                	je     0x40627c
406262:	ff 75 fc             	push   -0x4(%ebp)
406265:	68 a4 f0 00 00       	push   $0xf0a4
40626a:	57                   	push   %edi
40626b:	e8 09 0c 00 00       	call   0x406e79
406270:	59                   	pop    %ecx
406271:	50                   	push   %eax
406272:	e8 66 b7 ff ff       	call   0x4019dd
406277:	83 c4 0c             	add    $0xc,%esp
40627a:	eb 14                	jmp    0x406290
40627c:	68 a2 f0 00 00       	push   $0xf0a2
406281:	57                   	push   %edi
406282:	e8 f2 0b 00 00       	call   0x406e79
406287:	59                   	pop    %ecx
406288:	50                   	push   %eax
406289:	e8 4f b7 ff ff       	call   0x4019dd
40628e:	59                   	pop    %ecx
40628f:	59                   	pop    %ecx
406290:	8b c6                	mov    %esi,%eax
406292:	e9 60 ff ff ff       	jmp    0x4061f7
406297:	cc                   	int3
406298:	cc                   	int3
406299:	cc                   	int3
40629a:	cc                   	int3
40629b:	cc                   	int3
40629c:	cc                   	int3
40629d:	cc                   	int3
40629e:	cc                   	int3
40629f:	cc                   	int3
4062a0:	8b ff                	mov    %edi,%edi
4062a2:	55                   	push   %ebp
4062a3:	8b ec                	mov    %esp,%ebp
4062a5:	81 ec 1c 04 00 00    	sub    $0x41c,%esp
4062ab:	a1 b4 71 40 00       	mov    0x4071b4,%eax
4062b0:	33 c5                	xor    %ebp,%eax
4062b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4062b5:	8b 45 18             	mov    0x18(%ebp),%eax
4062b8:	56                   	push   %esi
4062b9:	57                   	push   %edi
4062ba:	33 ff                	xor    %edi,%edi
4062bc:	6a 02                	push   $0x2
4062be:	5e                   	pop    %esi
4062bf:	89 bd e8 fb ff ff    	mov    %edi,-0x418(%ebp)
4062c5:	89 bd e4 fb ff ff    	mov    %edi,-0x41c(%ebp)
4062cb:	39 7d 14             	cmp    %edi,0x14(%ebp)
4062ce:	75 08                	jne    0x4062d8
4062d0:	6a 03                	push   $0x3
4062d2:	58                   	pop    %eax
4062d3:	e9 89 00 00 00       	jmp    0x406361
4062d8:	53                   	push   %ebx
4062d9:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
4062df:	bb 04 01 00 00       	mov    $0x104,%ebx
4062e4:	51                   	push   %ecx
4062e5:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
4062eb:	51                   	push   %ecx
4062ec:	53                   	push   %ebx
4062ed:	ff 30                	push   (%eax)
4062ef:	ff 15 5c 80 40 00    	call   *0x40805c
4062f5:	85 c0                	test   %eax,%eax
4062f7:	74 50                	je     0x406349
4062f9:	3b c3                	cmp    %ebx,%eax
4062fb:	73 4c                	jae    0x406349
4062fd:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
406303:	50                   	push   %eax
406304:	57                   	push   %edi
406305:	53                   	push   %ebx
406306:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40630c:	50                   	push   %eax
40630d:	57                   	push   %edi
40630e:	6a 01                	push   $0x1
406310:	57                   	push   %edi
406311:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
406317:	50                   	push   %eax
406318:	ff 15 a0 80 40 00    	call   *0x4080a0
40631e:	85 c0                	test   %eax,%eax
406320:	75 07                	jne    0x406329
406322:	68 ba ee 00 00       	push   $0xeeba
406327:	eb 25                	jmp    0x40634e
406329:	8b b5 e8 fb ff ff    	mov    -0x418(%ebp),%esi
40632f:	6a 01                	push   $0x1
406331:	e8 43 0b 00 00       	call   0x406e79
406336:	56                   	push   %esi
406337:	68 bb ee 00 00       	push   $0xeebb
40633c:	50                   	push   %eax
40633d:	e8 9b b6 ff ff       	call   0x4019dd
406342:	83 c4 10             	add    $0x10,%esp
406345:	8b f7                	mov    %edi,%esi
406347:	eb 15                	jmp    0x40635e
406349:	68 b9 ee 00 00       	push   $0xeeb9
40634e:	6a 01                	push   $0x1
406350:	e8 24 0b 00 00       	call   0x406e79
406355:	59                   	pop    %ecx
406356:	50                   	push   %eax
406357:	e8 81 b6 ff ff       	call   0x4019dd
40635c:	59                   	pop    %ecx
40635d:	59                   	pop    %ecx
40635e:	8b c6                	mov    %esi,%eax
406360:	5b                   	pop    %ebx
406361:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406364:	5f                   	pop    %edi
406365:	33 cd                	xor    %ebp,%ecx
406367:	5e                   	pop    %esi
406368:	e8 73 05 00 00       	call   0x4068e0
40636d:	c9                   	leave
40636e:	c2 14 00             	ret    $0x14
406371:	cc                   	int3
406372:	cc                   	int3
406373:	cc                   	int3
406374:	cc                   	int3
406375:	cc                   	int3
406376:	cc                   	int3
406377:	cc                   	int3
406378:	cc                   	int3
406379:	cc                   	int3
40637a:	cc                   	int3
40637b:	cc                   	int3
40637c:	cc                   	int3
40637d:	cc                   	int3
40637e:	cc                   	int3
40637f:	cc                   	int3
406380:	8b ff                	mov    %edi,%edi
406382:	55                   	push   %ebp
406383:	8b ec                	mov    %esp,%ebp
406385:	81 ec 10 02 00 00    	sub    $0x210,%esp
40638b:	a1 b4 71 40 00       	mov    0x4071b4,%eax
406390:	33 c5                	xor    %ebp,%eax
406392:	89 45 fc             	mov    %eax,-0x4(%ebp)
406395:	83 a5 f0 fd ff ff 00 	andl   $0x0,-0x210(%ebp)
40639c:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4063a0:	8b 45 18             	mov    0x18(%ebp),%eax
4063a3:	57                   	push   %edi
4063a4:	6a 02                	push   $0x2
4063a6:	5f                   	pop    %edi
4063a7:	75 08                	jne    0x4063b1
4063a9:	6a 03                	push   $0x3
4063ab:	58                   	pop    %eax
4063ac:	e9 f5 00 00 00       	jmp    0x4064a6
4063b1:	53                   	push   %ebx
4063b2:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4063b8:	51                   	push   %ecx
4063b9:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
4063bf:	51                   	push   %ecx
4063c0:	68 04 01 00 00       	push   $0x104
4063c5:	ff 30                	push   (%eax)
4063c7:	ff 15 5c 80 40 00    	call   *0x40805c
4063cd:	85 c0                	test   %eax,%eax
4063cf:	0f 84 b9 00 00 00    	je     0x40648e
4063d5:	83 bd f0 fd ff ff 00 	cmpl   $0x0,-0x210(%ebp)
4063dc:	0f 84 ac 00 00 00    	je     0x40648e
4063e2:	68 40 13 40 00       	push   $0x401340
4063e7:	ff 15 48 80 40 00    	call   *0x408048