40406f:	50                   	push   %eax
404070:	e8 2b 16 00 00       	call   0x4056a0
404075:	83 c4 0c             	add    $0xc,%esp
404078:	5e                   	pop    %esi
404079:	5f                   	pop    %edi
40407a:	8b c3                	mov    %ebx,%eax
40407c:	5b                   	pop    %ebx
40407d:	5d                   	pop    %ebp
40407e:	c2 04 00             	ret    $0x4
404081:	55                   	push   %ebp
404082:	8b ec                	mov    %esp,%ebp
404084:	56                   	push   %esi
404085:	8b f1                	mov    %ecx,%esi
404087:	e8 76 ff ff ff       	call   0x404002
40408c:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
404090:	74 07                	je     0x404099
404092:	56                   	push   %esi
404093:	e8 60 0e 00 00       	call   0x404ef8
404098:	59                   	pop    %ecx
404099:	8b c6                	mov    %esi,%eax
40409b:	5e                   	pop    %esi
40409c:	5d                   	pop    %ebp
40409d:	c2 04 00             	ret    $0x4
4040a0:	55                   	push   %ebp
4040a1:	8b ec                	mov    %esp,%ebp
4040a3:	6a 08                	push   $0x8
4040a5:	e8 9e 0e 00 00       	call   0x404f48
4040aa:	59                   	pop    %ecx
4040ab:	85 c0                	test   %eax,%eax
4040ad:	74 10                	je     0x4040bf
4040af:	8b 0d 90 1a 42 00    	mov    0x421a90,%ecx
4040b5:	89 08                	mov    %ecx,(%eax)
4040b7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4040ba:	89 48 04             	mov    %ecx,0x4(%eax)
4040bd:	eb 02                	jmp    0x4040c1
4040bf:	33 c0                	xor    %eax,%eax
4040c1:	a3 90 1a 42 00       	mov    %eax,0x421a90
4040c6:	5d                   	pop    %ebp
4040c7:	c3                   	ret
4040c8:	a1 8c 1a 42 00       	mov    0x421a8c,%eax
4040cd:	c3                   	ret
4040ce:	6a 04                	push   $0x4
4040d0:	b8 02 7c 41 00       	mov    $0x417c02,%eax
4040d5:	e8 1f 1d 00 00       	call   0x405df9
4040da:	6a 00                	push   $0x0
4040dc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4040df:	e8 d9 02 00 00       	call   0x4043bd
4040e4:	8b 35 8c 1a 42 00    	mov    0x421a8c,%esi
4040ea:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4040ee:	85 f6                	test   %esi,%esi
4040f0:	75 3b                	jne    0x40412d
4040f2:	56                   	push   %esi
4040f3:	e8 10 01 00 00       	call   0x404208
4040f8:	8b f0                	mov    %eax,%esi
4040fa:	56                   	push   %esi
4040fb:	e8 27 01 00 00       	call   0x404227
404100:	59                   	pop    %ecx
404101:	59                   	pop    %ecx
404102:	68 50 a1 41 00       	push   $0x41a150
404107:	8d 4e 18             	lea    0x18(%esi),%ecx
40410a:	c7 46 10 3f 00 00 00 	movl   $0x3f,0x10(%esi)
404111:	e8 17 ff ff ff       	call   0x40402d
404116:	89 35 88 1a 42 00    	mov    %esi,0x421a88
40411c:	8b 06                	mov    (%esi),%eax
40411e:	8b ce                	mov    %esi,%ecx
404120:	ff 50 04             	call   *0x4(%eax)
404123:	a1 88 1a 42 00       	mov    0x421a88,%eax
404128:	a3 a8 1a 42 00       	mov    %eax,0x421aa8
40412d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
404131:	74 07                	je     0x40413a
404133:	8b 06                	mov    (%esi),%eax
404135:	8b ce                	mov    %esi,%ecx
404137:	ff 50 04             	call   *0x4(%eax)
40413a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40413d:	e8 d7 02 00 00       	call   0x404419
404142:	8b c6                	mov    %esi,%eax
404144:	e8 8d 1c 00 00       	call   0x405dd6
404149:	c3                   	ret
40414a:	6a 04                	push   $0x4
40414c:	b8 02 7c 41 00       	mov    $0x417c02,%eax
404151:	e8 a3 1c 00 00       	call   0x405df9
404156:	6a 00                	push   $0x0
404158:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40415b:	e8 5d 02 00 00       	call   0x4043bd
404160:	8b 7d 08             	mov    0x8(%ebp),%edi
404163:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404167:	8b 77 0c             	mov    0xc(%edi),%esi
40416a:	eb 1c                	jmp    0x404188
40416c:	8b 47 08             	mov    0x8(%edi),%eax
40416f:	4e                   	dec    %esi
404170:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
404173:	85 c9                	test   %ecx,%ecx
404175:	74 11                	je     0x404188
404177:	8b 01                	mov    (%ecx),%eax
404179:	ff 50 08             	call   *0x8(%eax)
40417c:	85 c0                	test   %eax,%eax
40417e:	74 08                	je     0x404188
404180:	8b 10                	mov    (%eax),%edx
404182:	6a 01                	push   $0x1
404184:	8b c8                	mov    %eax,%ecx
404186:	ff 12                	call   *(%edx)
404188:	85 f6                	test   %esi,%esi
40418a:	75 e0                	jne    0x40416c
40418c:	ff 77 08             	push   0x8(%edi)
40418f:	e8 84 0f 00 00       	call   0x405118
404194:	59                   	pop    %ecx
404195:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404198:	e8 7c 02 00 00       	call   0x404419
40419d:	e8 34 1c 00 00       	call   0x405dd6
4041a2:	c3                   	ret
4041a3:	55                   	push   %ebp
4041a4:	8b ec                	mov    %esp,%ebp
4041a6:	6a 00                	push   $0x0
4041a8:	6a 00                	push   $0x0
4041aa:	e8 20 41 00 00       	call   0x4082cf
4041af:	59                   	pop    %ecx
4041b0:	59                   	pop    %ecx
4041b1:	85 c0                	test   %eax,%eax
4041b3:	75 05                	jne    0x4041ba
4041b5:	b8 d6 d4 41 00       	mov    $0x41d4d6,%eax
4041ba:	56                   	push   %esi
4041bb:	8b 75 08             	mov    0x8(%ebp),%esi
4041be:	50                   	push   %eax
4041bf:	8d 4e 24             	lea    0x24(%esi),%ecx
4041c2:	e8 66 fe ff ff       	call   0x40402d
4041c7:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4041cb:	74 10                	je     0x4041dd
4041cd:	ff 75 0c             	push   0xc(%ebp)
4041d0:	6a 00                	push   $0x0
4041d2:	e8 f8 40 00 00       	call   0x4082cf
4041d7:	59                   	pop    %ecx
4041d8:	59                   	pop    %ecx
4041d9:	85 c0                	test   %eax,%eax
4041db:	75 05                	jne    0x4041e2
4041dd:	b8 4c a1 41 00       	mov    $0x41a14c,%eax
4041e2:	50                   	push   %eax
4041e3:	8d 4e 2c             	lea    0x2c(%esi),%ecx
4041e6:	e8 42 fe ff ff       	call   0x40402d
4041eb:	5e                   	pop    %esi
4041ec:	5d                   	pop    %ebp
4041ed:	c3                   	ret
4041ee:	55                   	push   %ebp
4041ef:	8b ec                	mov    %esp,%ebp
4041f1:	8b 45 08             	mov    0x8(%ebp),%eax
4041f4:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4041f8:	74 0c                	je     0x404206
4041fa:	ff 70 24             	push   0x24(%eax)
4041fd:	6a 00                	push   $0x0
4041ff:	e8 cb 40 00 00       	call   0x4082cf
404204:	59                   	pop    %ecx
404205:	59                   	pop    %ecx
404206:	5d                   	pop    %ebp
404207:	c3                   	ret
404208:	55                   	push   %ebp
404209:	8b ec                	mov    %esp,%ebp
40420b:	6a 20                	push   $0x20
40420d:	e8 36 0d 00 00       	call   0x404f48
404212:	59                   	pop    %ecx
404213:	85 c0                	test   %eax,%eax
404215:	74 0c                	je     0x404223
404217:	ff 75 08             	push   0x8(%ebp)
40421a:	8b c8                	mov    %eax,%ecx
40421c:	e8 6b fd ff ff       	call   0x403f8c
404221:	5d                   	pop    %ebp
404222:	c3                   	ret
404223:	33 c0                	xor    %eax,%eax
404225:	5d                   	pop    %ebp
404226:	c3                   	ret
404227:	55                   	push   %ebp
404228:	8b ec                	mov    %esp,%ebp
40422a:	80 3d b0 1a 42 00 00 	cmpb   $0x0,0x421ab0
404231:	75 12                	jne    0x404245
404233:	68 6e 42 40 00       	push   $0x40426e
404238:	c6 05 b0 1a 42 00 01 	movb   $0x1,0x421ab0
40423f:	e8 88 04 00 00       	call   0x4046cc
404244:	59                   	pop    %ecx
404245:	8b 45 08             	mov    0x8(%ebp),%eax
404248:	a3 8c 1a 42 00       	mov    %eax,0x421a8c
40424d:	5d                   	pop    %ebp
40424e:	c3                   	ret
40424f:	55                   	push   %ebp
404250:	8b ec                	mov    %esp,%ebp
404252:	8b 45 08             	mov    0x8(%ebp),%eax
404255:	8b 08                	mov    (%eax),%ecx
404257:	85 c9                	test   %ecx,%ecx
404259:	74 11                	je     0x40426c
40425b:	8b 01                	mov    (%ecx),%eax
40425d:	ff 50 08             	call   *0x8(%eax)
404260:	85 c0                	test   %eax,%eax
404262:	74 08                	je     0x40426c
404264:	8b 10                	mov    (%eax),%edx
404266:	6a 01                	push   $0x1
404268:	8b c8                	mov    %eax,%ecx
40426a:	ff 12                	call   *(%edx)
40426c:	5d                   	pop    %ebp
40426d:	c3                   	ret
40426e:	55                   	push   %ebp
40426f:	8b ec                	mov    %esp,%ebp
404271:	51                   	push   %ecx
404272:	6a 00                	push   $0x0
404274:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404277:	e8 41 01 00 00       	call   0x4043bd
40427c:	68 8c 1a 42 00       	push   $0x421a8c
404281:	e8 c9 ff ff ff       	call   0x40424f
404286:	83 25 8c 1a 42 00 00 	andl   $0x0,0x421a8c
40428d:	59                   	pop    %ecx
40428e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404291:	e8 83 01 00 00       	call   0x404419
404296:	c9                   	leave
404297:	c3                   	ret
404298:	55                   	push   %ebp
404299:	8b ec                	mov    %esp,%ebp
40429b:	51                   	push   %ecx
40429c:	6a 02                	push   $0x2
40429e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4042a1:	e8 17 01 00 00       	call   0x4043bd
4042a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4042a9:	c7 41 08 01 00 00 00 	movl   $0x1,0x8(%ecx)
4042b0:	8b 51 08             	mov    0x8(%ecx),%edx
4042b3:	8b 04 95 b4 1a 42 00 	mov    0x421ab4(,%edx,4),%eax
4042ba:	85 c0                	test   %eax,%eax
4042bc:	74 0f                	je     0x4042cd
4042be:	3b c1                	cmp    %ecx,%eax
4042c0:	74 0b                	je     0x4042cd
4042c2:	8d 42 01             	lea    0x1(%edx),%eax
4042c5:	89 41 08             	mov    %eax,0x8(%ecx)
4042c8:	83 f8 08             	cmp    $0x8,%eax
4042cb:	72 e3                	jb     0x4042b0
4042cd:	8b 41 08             	mov    0x8(%ecx),%eax
4042d0:	89 0c 85 b4 1a 42 00 	mov    %ecx,0x421ab4(,%eax,4)
4042d7:	8b 41 08             	mov    0x8(%ecx),%eax
4042da:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4042dd:	fe 80 dc 1a 42 00    	incb   0x421adc(%eax)
4042e3:	e8 31 01 00 00       	call   0x404419
4042e8:	c9                   	leave
4042e9:	c3                   	ret
4042ea:	55                   	push   %ebp
4042eb:	8b ec                	mov    %esp,%ebp
4042ed:	56                   	push   %esi
4042ee:	57                   	push   %edi
4042ef:	8b f9                	mov    %ecx,%edi
4042f1:	8b 77 2c             	mov    0x2c(%edi),%esi
4042f4:	eb 0f                	jmp    0x404305
4042f6:	ff 76 04             	push   0x4(%esi)
4042f9:	57                   	push   %edi
4042fa:	ff 75 08             	push   0x8(%ebp)
4042fd:	ff 56 08             	call   *0x8(%esi)
404300:	8b 36                	mov    (%esi),%esi
404302:	83 c4 0c             	add    $0xc,%esp
404305:	85 f6                	test   %esi,%esi
404307:	75 ed                	jne    0x4042f6
404309:	5f                   	pop    %edi
40430a:	5e                   	pop    %esi
40430b:	5d                   	pop    %ebp
40430c:	c2 04 00             	ret    $0x4
40430f:	55                   	push   %ebp
404310:	8b ec                	mov    %esp,%ebp
404312:	56                   	push   %esi
404313:	8b 75 08             	mov    0x8(%ebp),%esi
404316:	8b 46 08             	mov    0x8(%esi),%eax
404319:	85 c0                	test   %eax,%eax
40431b:	74 10                	je     0x40432d
40431d:	fe 88 dc 1a 42 00    	decb   0x421adc(%eax)
404323:	8a 80 dc 1a 42 00    	mov    0x421adc(%eax),%al
404329:	84 c0                	test   %al,%al
40432b:	7f 1c                	jg     0x404349
40432d:	8b ce                	mov    %esi,%ecx
40432f:	e8 18 00 00 00       	call   0x40434c
404334:	8b 76 30             	mov    0x30(%esi),%esi
404337:	85 f6                	test   %esi,%esi
404339:	74 0e                	je     0x404349
40433b:	8b ce                	mov    %esi,%ecx
40433d:	e8 89 e1 ff ff       	call   0x4024cb
404342:	56                   	push   %esi
404343:	e8 b0 0b 00 00       	call   0x404ef8
404348:	59                   	pop    %ecx
404349:	5e                   	pop    %esi
40434a:	5d                   	pop    %ebp
40434b:	c3                   	ret
40434c:	56                   	push   %esi
40434d:	57                   	push   %edi
40434e:	6a 00                	push   $0x0
404350:	8b f9                	mov    %ecx,%edi
404352:	e8 93 ff ff ff       	call   0x4042ea
404357:	8b 47 28             	mov    0x28(%edi),%eax
40435a:	85 c0                	test   %eax,%eax
40435c:	74 0f                	je     0x40436d
40435e:	8b 30                	mov    (%eax),%esi
404360:	50                   	push   %eax
404361:	e8 92 0b 00 00       	call   0x404ef8
404366:	59                   	pop    %ecx
404367:	8b c6                	mov    %esi,%eax
404369:	85 f6                	test   %esi,%esi
40436b:	75 f1                	jne    0x40435e
40436d:	8b 47 2c             	mov    0x2c(%edi),%eax
404370:	83 67 28 00          	andl   $0x0,0x28(%edi)
404374:	85 c0                	test   %eax,%eax
404376:	74 0f                	je     0x404387
404378:	8b 30                	mov    (%eax),%esi
40437a:	50                   	push   %eax
40437b:	e8 78 0b 00 00       	call   0x404ef8
404380:	59                   	pop    %ecx
404381:	8b c6                	mov    %esi,%eax
404383:	85 f6                	test   %esi,%esi
404385:	75 f1                	jne    0x404378
404387:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
40438b:	5f                   	pop    %edi
40438c:	5e                   	pop    %esi
40438d:	c3                   	ret
40438e:	57                   	push   %edi
40438f:	68 1c 01 42 00       	push   $0x42011c
404394:	8b f9                	mov    %ecx,%edi
404396:	ff 15 50 90 41 00    	call   *0x419050
40439c:	85 c0                	test   %eax,%eax
40439e:	75 19                	jne    0x4043b9
4043a0:	56                   	push   %esi
4043a1:	be f8 1a 42 00       	mov    $0x421af8,%esi
4043a6:	56                   	push   %esi
4043a7:	e8 5c 03 00 00       	call   0x404708
4043ac:	83 c6 18             	add    $0x18,%esi
4043af:	59                   	pop    %ecx
4043b0:	81 fe 58 1b 42 00    	cmp    $0x421b58,%esi
4043b6:	7c ee                	jl     0x4043a6
4043b8:	5e                   	pop    %esi
4043b9:	8b c7                	mov    %edi,%eax
4043bb:	5f                   	pop    %edi
4043bc:	c3                   	ret
4043bd:	55                   	push   %ebp
4043be:	8b ec                	mov    %esp,%ebp
4043c0:	8b 45 08             	mov    0x8(%ebp),%eax
4043c3:	56                   	push   %esi
4043c4:	8b f1                	mov    %ecx,%esi
4043c6:	89 06                	mov    %eax,(%esi)
4043c8:	85 c0                	test   %eax,%eax
4043ca:	75 09                	jne    0x4043d5
4043cc:	6a 0c                	push   $0xc
4043ce:	e8 d4 40 00 00       	call   0x4084a7
4043d3:	eb 13                	jmp    0x4043e8
4043d5:	83 f8 04             	cmp    $0x4,%eax
4043d8:	7d 0f                	jge    0x4043e9
4043da:	6b c0 18             	imul   $0x18,%eax,%eax
4043dd:	05 f8 1a 42 00       	add    $0x421af8,%eax
4043e2:	50                   	push   %eax
4043e3:	e8 35 03 00 00       	call   0x40471d
4043e8:	59                   	pop    %ecx
4043e9:	8b c6                	mov    %esi,%eax
4043eb:	5e                   	pop    %esi
4043ec:	5d                   	pop    %ebp
4043ed:	c2 04 00             	ret    $0x4
4043f0:	68 1c 01 42 00       	push   $0x42011c