405f7a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
405f7e:	0f 84 3e 02 00 00    	je     0x4061c2
405f84:	ba 01 00 00 00       	mov    $0x1,%edx
405f89:	85 d2                	test   %edx,%edx
405f8b:	0f 84 20 02 00 00    	je     0x4061b1
405f91:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
405f98:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
405f9f:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
405fa6:	8d 45 d8             	lea    -0x28(%ebp),%eax
405fa9:	50                   	push   %eax
405faa:	8d 4d dc             	lea    -0x24(%ebp),%ecx
405fad:	51                   	push   %ecx
405fae:	8d 55 e8             	lea    -0x18(%ebp),%edx
405fb1:	52                   	push   %edx
405fb2:	6a 00                	push   $0x0
405fb4:	6a 00                	push   $0x0
405fb6:	6a 01                	push   $0x1
405fb8:	6a 30                	push   $0x30
405fba:	8b 45 ec             	mov    -0x14(%ebp),%eax
405fbd:	50                   	push   %eax
405fbe:	e8 fd c5 ff ff       	call   0x4025c0
405fc3:	8b 88 b4 01 00 00    	mov    0x1b4(%eax),%ecx
405fc9:	ff d1                	call   *%ecx
405fcb:	85 c0                	test   %eax,%eax
405fcd:	0f 85 c7 01 00 00    	jne    0x40619a
405fd3:	e8 e8 c5 ff ff       	call   0x4025c0
405fd8:	8b 90 7c 01 00 00    	mov    0x17c(%eax),%edx
405fde:	ff d2                	call   *%edx
405fe0:	3d ea 00 00 00       	cmp    $0xea,%eax
405fe5:	0f 85 af 01 00 00    	jne    0x40619a
405feb:	8b 45 e8             	mov    -0x18(%ebp),%eax
405fee:	50                   	push   %eax
405fef:	e8 8c 08 00 00       	call   0x406880
405ff4:	83 c4 04             	add    $0x4,%esp
405ff7:	89 45 f0             	mov    %eax,-0x10(%ebp)
405ffa:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
405ffe:	0f 84 96 01 00 00    	je     0x40619a
406004:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406007:	51                   	push   %ecx
406008:	8d 55 dc             	lea    -0x24(%ebp),%edx
40600b:	52                   	push   %edx
40600c:	8d 45 e8             	lea    -0x18(%ebp),%eax
40600f:	50                   	push   %eax
406010:	8b 4d e8             	mov    -0x18(%ebp),%ecx
406013:	51                   	push   %ecx
406014:	8b 55 f0             	mov    -0x10(%ebp),%edx
406017:	52                   	push   %edx
406018:	6a 01                	push   $0x1
40601a:	6a 30                	push   $0x30
40601c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40601f:	50                   	push   %eax
406020:	e8 9b c5 ff ff       	call   0x4025c0
406025:	8b 88 b4 01 00 00    	mov    0x1b4(%eax),%ecx
40602b:	ff d1                	call   *%ecx
40602d:	85 c0                	test   %eax,%eax
40602f:	0f 84 59 01 00 00    	je     0x40618e
406035:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40603c:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
406043:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40604a:	eb 09                	jmp    0x406055
40604c:	8b 55 f4             	mov    -0xc(%ebp),%edx
40604f:	83 c2 01             	add    $0x1,%edx
406052:	89 55 f4             	mov    %edx,-0xc(%ebp)
406055:	8b 45 f4             	mov    -0xc(%ebp),%eax
406058:	3b 45 dc             	cmp    -0x24(%ebp),%eax
40605b:	0f 83 c9 00 00 00    	jae    0x40612a
406061:	6b 4d f4 24          	imul   $0x24,-0xc(%ebp),%ecx
406065:	8b 55 f0             	mov    -0x10(%ebp),%edx
406068:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
40606b:	50                   	push   %eax
40606c:	e8 8f f9 ff ff       	call   0x405a00
406071:	83 c4 04             	add    $0x4,%esp
406074:	85 c0                	test   %eax,%eax
406076:	75 1c                	jne    0x406094
406078:	6b 4d f4 24          	imul   $0x24,-0xc(%ebp),%ecx
40607c:	8b 55 f0             	mov    -0x10(%ebp),%edx
40607f:	8b 44 0a 04          	mov    0x4(%edx,%ecx,1),%eax
406083:	50                   	push   %eax
406084:	e8 77 f9 ff ff       	call   0x405a00
406089:	83 c4 04             	add    $0x4,%esp
40608c:	85 c0                	test   %eax,%eax
40608e:	0f 84 91 00 00 00    	je     0x406125
406094:	68 ff 01 0f 00       	push   $0xf01ff
406099:	6b 4d f4 24          	imul   $0x24,-0xc(%ebp),%ecx
40609d:	8b 55 f0             	mov    -0x10(%ebp),%edx
4060a0:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
4060a3:	50                   	push   %eax
4060a4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4060a7:	51                   	push   %ecx
4060a8:	e8 13 c5 ff ff       	call   0x4025c0
4060ad:	8b 90 b8 01 00 00    	mov    0x1b8(%eax),%edx
4060b3:	ff d2                	call   *%edx
4060b5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4060b8:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
4060bc:	74 67                	je     0x406125
4060be:	6a 08                	push   $0x8
4060c0:	e8 bb 07 00 00       	call   0x406880
4060c5:	83 c4 04             	add    $0x4,%esp
4060c8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4060cb:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4060cf:	74 54                	je     0x406125
4060d1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4060d4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4060d7:	89 08                	mov    %ecx,(%eax)
4060d9:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4060dc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4060df:	89 42 04             	mov    %eax,0x4(%edx)
4060e2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4060e5:	8d 14 8d 04 00 00 00 	lea    0x4(,%ecx,4),%edx
4060ec:	52                   	push   %edx
4060ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4060f0:	50                   	push   %eax
4060f1:	e8 ea 07 00 00       	call   0x4068e0
4060f6:	83 c4 08             	add    $0x8,%esp
4060f9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4060fc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406100:	74 23                	je     0x406125
406102:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
406105:	51                   	push   %ecx
406106:	68 c0 5c 40 00       	push   $0x405cc0
40610b:	e8 30 dd 00 00       	call   0x413e40
406110:	83 c4 08             	add    $0x8,%esp
406113:	8b 55 f8             	mov    -0x8(%ebp),%edx
406116:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406119:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40611c:	8b 55 f8             	mov    -0x8(%ebp),%edx
40611f:	83 c2 01             	add    $0x1,%edx
406122:	89 55 f8             	mov    %edx,-0x8(%ebp)
406125:	e9 22 ff ff ff       	jmp    0x40604c
40612a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40612e:	74 5e                	je     0x40618e
406130:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406134:	74 58                	je     0x40618e
406136:	6a ff                	push   $0xffffffff
406138:	6a 01                	push   $0x1
40613a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40613d:	50                   	push   %eax
40613e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406141:	51                   	push   %ecx
406142:	e8 79 c4 ff ff       	call   0x4025c0
406147:	8b 90 50 01 00 00    	mov    0x150(%eax),%edx
40614d:	ff d2                	call   *%edx
40614f:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
406156:	eb 09                	jmp    0x406161
406158:	8b 45 e0             	mov    -0x20(%ebp),%eax
40615b:	83 c0 01             	add    $0x1,%eax
40615e:	89 45 e0             	mov    %eax,-0x20(%ebp)
406161:	8b 4d e0             	mov    -0x20(%ebp),%ecx
406164:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
406167:	73 19                	jae    0x406182
406169:	8b 55 e0             	mov    -0x20(%ebp),%edx
40616c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40616f:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
406172:	51                   	push   %ecx
406173:	e8 48 c4 ff ff       	call   0x4025c0
406178:	8b 90 f4 00 00 00    	mov    0xf4(%eax),%edx
40617e:	ff d2                	call   *%edx
406180:	eb d6                	jmp    0x406158
406182:	8b 45 fc             	mov    -0x4(%ebp),%eax
406185:	50                   	push   %eax
406186:	e8 25 07 00 00       	call   0x4068b0
40618b:	83 c4 04             	add    $0x4,%esp
40618e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406191:	51                   	push   %ecx
406192:	e8 19 07 00 00       	call   0x4068b0
406197:	83 c4 04             	add    $0x4,%esp
40619a:	68 60 ea 00 00       	push   $0xea60
40619f:	e8 1c c4 ff ff       	call   0x4025c0
4061a4:	8b 90 64 01 00 00    	mov    0x164(%eax),%edx
4061aa:	ff d2                	call   *%edx
4061ac:	e9 d3 fd ff ff       	jmp    0x405f84
4061b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4061b4:	50                   	push   %eax
4061b5:	e8 06 c4 ff ff       	call   0x4025c0
4061ba:	8b 88 c4 01 00 00    	mov    0x1c4(%eax),%ecx
4061c0:	ff d1                	call   *%ecx
4061c2:	33 c0                	xor    %eax,%eax
4061c4:	8b e5                	mov    %ebp,%esp
4061c6:	5d                   	pop    %ebp
4061c7:	c2 04 00             	ret    $0x4
4061ca:	cc                   	int3
4061cb:	cc                   	int3
4061cc:	cc                   	int3
4061cd:	cc                   	int3
4061ce:	cc                   	int3
4061cf:	cc                   	int3
4061d0:	55                   	push   %ebp
4061d1:	8b ec                	mov    %esp,%ebp
4061d3:	83 ec 50             	sub    $0x50,%esp
4061d6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4061da:	75 05                	jne    0x4061e1
4061dc:	e9 6d 03 00 00       	jmp    0x40654e
4061e1:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4061e8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4061eb:	50                   	push   %eax
4061ec:	6a 00                	push   $0x0
4061ee:	8b 4d 08             	mov    0x8(%ebp),%ecx
4061f1:	8b 11                	mov    (%ecx),%edx
4061f3:	8b 45 08             	mov    0x8(%ebp),%eax
4061f6:	50                   	push   %eax
4061f7:	8b 4a 38             	mov    0x38(%edx),%ecx
4061fa:	ff d1                	call   *%ecx
4061fc:	85 c0                	test   %eax,%eax
4061fe:	0f 8c 4a 03 00 00    	jl     0x40654e
406204:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40620b:	8d 55 c8             	lea    -0x38(%ebp),%edx
40620e:	52                   	push   %edx
40620f:	8b 45 ec             	mov    -0x14(%ebp),%eax
406212:	8b 08                	mov    (%eax),%ecx
406214:	8b 55 ec             	mov    -0x14(%ebp),%edx
406217:	52                   	push   %edx
406218:	8b 41 1c             	mov    0x1c(%ecx),%eax
40621b:	ff d0                	call   *%eax
40621d:	85 c0                	test   %eax,%eax
40621f:	0f 8c 1b 03 00 00    	jl     0x406540
406225:	6a 10                	push   $0x10
406227:	6a 00                	push   $0x0
406229:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40622c:	51                   	push   %ecx
40622d:	e8 4e 07 00 00       	call   0x406980
406232:	83 c4 0c             	add    $0xc,%esp
406235:	ba 03 00 00 00       	mov    $0x3,%edx
40623a:	66 89 55 b0          	mov    %dx,-0x50(%ebp)
40623e:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
406245:	eb 09                	jmp    0x406250
406247:	8b 45 e0             	mov    -0x20(%ebp),%eax
40624a:	83 c0 01             	add    $0x1,%eax
40624d:	89 45 e0             	mov    %eax,-0x20(%ebp)
406250:	8b 4d e0             	mov    -0x20(%ebp),%ecx
406253:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
406256:	0f 8d e4 02 00 00    	jge    0x406540
40625c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406263:	8b 55 e0             	mov    -0x20(%ebp),%edx
406266:	83 c2 01             	add    $0x1,%edx
406269:	89 55 b8             	mov    %edx,-0x48(%ebp)
40626c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40626f:	50                   	push   %eax
406270:	83 ec 10             	sub    $0x10,%esp
406273:	8b cc                	mov    %esp,%ecx
406275:	8b 55 b0             	mov    -0x50(%ebp),%edx
406278:	89 11                	mov    %edx,(%ecx)
40627a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40627d:	89 41 04             	mov    %eax,0x4(%ecx)
406280:	8b 55 b8             	mov    -0x48(%ebp),%edx
406283:	89 51 08             	mov    %edx,0x8(%ecx)
406286:	8b 45 bc             	mov    -0x44(%ebp),%eax
406289:	89 41 0c             	mov    %eax,0xc(%ecx)
40628c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40628f:	8b 11                	mov    (%ecx),%edx
406291:	8b 45 ec             	mov    -0x14(%ebp),%eax
406294:	50                   	push   %eax
406295:	8b 4a 20             	mov    0x20(%edx),%ecx
406298:	ff d1                	call   *%ecx
40629a:	85 c0                	test   %eax,%eax
40629c:	0f 8c 99 02 00 00    	jl     0x40653b
4062a2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4062a9:	8d 55 d4             	lea    -0x2c(%ebp),%edx
4062ac:	52                   	push   %edx
4062ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4062b0:	8b 08                	mov    (%eax),%ecx
4062b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
4062b5:	52                   	push   %edx
4062b6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4062b9:	ff d0                	call   *%eax
4062bb:	85 c0                	test   %eax,%eax
4062bd:	0f 8c 6a 02 00 00    	jl     0x40652d
4062c3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4062ca:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4062d1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4062d4:	51                   	push   %ecx
4062d5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4062d8:	8b 02                	mov    (%edx),%eax
4062da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4062dd:	51                   	push   %ecx
4062de:	8b 50 24             	mov    0x24(%eax),%edx
4062e1:	ff d2                	call   *%edx
4062e3:	83 7d d8 01          	cmpl   $0x1,-0x28(%ebp)
4062e7:	0f 84 e9 01 00 00    	je     0x4064d6
4062ed:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4062f0:	50                   	push   %eax
4062f1:	e8 5a f7 ff ff       	call   0x405a50
4062f6:	83 c4 04             	add    $0x4,%esp
4062f9:	85 c0                	test   %eax,%eax
4062fb:	74 07                	je     0x406304
4062fd:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
406304:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
406308:	0f 85 c8 01 00 00    	jne    0x4064d6
40630e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
406315:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406318:	51                   	push   %ecx
406319:	8b 55 fc             	mov    -0x4(%ebp),%edx
40631c:	8b 02                	mov    (%edx),%eax
40631e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406321:	51                   	push   %ecx
406322:	8b 50 4c             	mov    0x4c(%eax),%edx
406325:	ff d2                	call   *%edx
406327:	85 c0                	test   %eax,%eax
406329:	0f 8c a7 01 00 00    	jl     0x4064d6
40632f:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
406336:	8d 45 f0             	lea    -0x10(%ebp),%eax
406339:	50                   	push   %eax
40633a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40633d:	8b 11                	mov    (%ecx),%edx
40633f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406342:	50                   	push   %eax
406343:	8b 4a 44             	mov    0x44(%edx),%ecx
406346:	ff d1                	call   *%ecx
406348:	85 c0                	test   %eax,%eax
40634a:	0f 8c 78 01 00 00    	jl     0x4064c8
406350:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
406357:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40635a:	52                   	push   %edx
40635b:	8b 45 f0             	mov    -0x10(%ebp),%eax
40635e:	8b 08                	mov    (%eax),%ecx
406360:	8b 55 f0             	mov    -0x10(%ebp),%edx
406363:	52                   	push   %edx
406364:	8b 41 1c             	mov    0x1c(%ecx),%eax
406367:	ff d0                	call   *%eax
406369:	85 c0                	test   %eax,%eax
40636b:	0f 8c 49 01 00 00    	jl     0x4064ba
406371:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
406378:	eb 09                	jmp    0x406383
40637a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40637d:	83 c1 01             	add    $0x1,%ecx
406380:	89 4d dc             	mov    %ecx,-0x24(%ebp)
406383:	8b 55 dc             	mov    -0x24(%ebp),%edx
406386:	3b 55 c4             	cmp    -0x3c(%ebp),%edx
406389:	0f 8d 2b 01 00 00    	jge    0x4064ba
40638f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
406396:	8d 45 f4             	lea    -0xc(%ebp),%eax
406399:	50                   	push   %eax
40639a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40639d:	83 c1 01             	add    $0x1,%ecx
4063a0:	51                   	push   %ecx
4063a1:	8b 55 f0             	mov    -0x10(%ebp),%edx
4063a4:	8b 02                	mov    (%edx),%eax
4063a6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4063a9:	51                   	push   %ecx
4063aa:	8b 50 20             	mov    0x20(%eax),%edx
4063ad:	ff d2                	call   *%edx
4063af:	85 c0                	test   %eax,%eax
4063b1:	0f 8c fe 00 00 00    	jl     0x4064b5
4063b7:	8d 45 c0             	lea    -0x40(%ebp),%eax
4063ba:	50                   	push   %eax
4063bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4063be:	8b 11                	mov    (%ecx),%edx
4063c0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4063c3:	50                   	push   %eax
4063c4:	8b 4a 24             	mov    0x24(%edx),%ecx
4063c7:	ff d1                	call   *%ecx