40f22f:	6a 0a                	push   $0xa
40f231:	8b f8                	mov    %eax,%edi
40f233:	33 d2                	xor    %edx,%edx
40f235:	59                   	pop    %ecx
40f236:	f7 f1                	div    %ecx
40f238:	8d 1c 96             	lea    (%esi,%edx,4),%ebx
40f23b:	8b 03                	mov    (%ebx),%eax
40f23d:	eb 07                	jmp    0x40f246
40f23f:	39 38                	cmp    %edi,(%eax)
40f241:	74 3c                	je     0x40f27f
40f243:	8b 40 04             	mov    0x4(%eax),%eax
40f246:	85 c0                	test   %eax,%eax
40f248:	75 f5                	jne    0x40f23f
40f24a:	38 45 08             	cmp    %al,0x8(%ebp)
40f24d:	74 35                	je     0x40f284
40f24f:	6a 0c                	push   $0xc
40f251:	5a                   	pop    %edx
40f252:	33 c9                	xor    %ecx,%ecx
40f254:	e8 1e 89 ff ff       	call   0x407b77
40f259:	8b f0                	mov    %eax,%esi
40f25b:	85 f6                	test   %esi,%esi
40f25d:	74 25                	je     0x40f284
40f25f:	83 66 04 00          	andl   $0x0,0x4(%esi)
40f263:	83 66 08 00          	andl   $0x0,0x8(%esi)
40f267:	89 3e                	mov    %edi,(%esi)
40f269:	8b 13                	mov    (%ebx),%edx
40f26b:	8b ce                	mov    %esi,%ecx
40f26d:	89 56 04             	mov    %edx,0x4(%esi)
40f270:	8b c2                	mov    %edx,%eax
40f272:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
40f276:	3b c2                	cmp    %edx,%eax
40f278:	75 ef                	jne    0x40f269
40f27a:	8d 46 08             	lea    0x8(%esi),%eax
40f27d:	eb 07                	jmp    0x40f286
40f27f:	83 c0 08             	add    $0x8,%eax
40f282:	eb 02                	jmp    0x40f286
40f284:	33 c0                	xor    %eax,%eax
40f286:	5f                   	pop    %edi
40f287:	5e                   	pop    %esi
40f288:	5b                   	pop    %ebx
40f289:	c9                   	leave
40f28a:	c2 04 00             	ret    $0x4
40f28d:	8b ff                	mov    %edi,%edi
40f28f:	55                   	push   %ebp
40f290:	8b ec                	mov    %esp,%ebp
40f292:	53                   	push   %ebx
40f293:	57                   	push   %edi
40f294:	8b f9                	mov    %ecx,%edi
40f296:	8b 1f                	mov    (%edi),%ebx
40f298:	85 db                	test   %ebx,%ebx
40f29a:	74 17                	je     0x40f2b3
40f29c:	56                   	push   %esi
40f29d:	ff 15 4c 31 43 00    	call   *0x43314c
40f2a3:	53                   	push   %ebx
40f2a4:	8b f0                	mov    %eax,%esi
40f2a6:	e8 e6 90 ff ff       	call   0x408391
40f2ab:	56                   	push   %esi
40f2ac:	ff 15 24 31 43 00    	call   *0x433124
40f2b2:	5e                   	pop    %esi
40f2b3:	8b 45 08             	mov    0x8(%ebp),%eax
40f2b6:	89 07                	mov    %eax,(%edi)
40f2b8:	5f                   	pop    %edi
40f2b9:	5b                   	pop    %ebx
40f2ba:	5d                   	pop    %ebp
40f2bb:	c2 04 00             	ret    $0x4
40f2be:	8b ff                	mov    %edi,%edi
40f2c0:	56                   	push   %esi
40f2c1:	8b f1                	mov    %ecx,%esi
40f2c3:	8b 0e                	mov    (%esi),%ecx
40f2c5:	85 c9                	test   %ecx,%ecx
40f2c7:	74 23                	je     0x40f2ec
40f2c9:	83 c8 ff             	or     $0xffffffff,%eax
40f2cc:	f0 0f c1 01          	lock xadd %eax,(%ecx)
40f2d0:	75 17                	jne    0x40f2e9
40f2d2:	57                   	push   %edi
40f2d3:	8b 3e                	mov    (%esi),%edi
40f2d5:	85 ff                	test   %edi,%edi
40f2d7:	74 0f                	je     0x40f2e8
40f2d9:	8d 4f 04             	lea    0x4(%edi),%ecx
40f2dc:	e8 f6 a0 ff ff       	call   0x4093d7
40f2e1:	57                   	push   %edi
40f2e2:	e8 e3 0d 00 00       	call   0x4100ca
40f2e7:	59                   	pop    %ecx
40f2e8:	5f                   	pop    %edi
40f2e9:	83 26 00             	andl   $0x0,(%esi)
40f2ec:	5e                   	pop    %esi
40f2ed:	c3                   	ret
40f2ee:	8b ff                	mov    %edi,%edi
40f2f0:	55                   	push   %ebp
40f2f1:	8b ec                	mov    %esp,%ebp
40f2f3:	83 e4 f8             	and    $0xfffffff8,%esp
40f2f6:	83 ec 54             	sub    $0x54,%esp
40f2f9:	56                   	push   %esi
40f2fa:	8b 71 38             	mov    0x38(%ecx),%esi
40f2fd:	83 fe 01             	cmp    $0x1,%esi
40f300:	7c 28                	jl     0x40f32a
40f302:	8b 41 3c             	mov    0x3c(%ecx),%eax
40f305:	85 c0                	test   %eax,%eax
40f307:	78 06                	js     0x40f30f
40f309:	8b 45 08             	mov    0x8(%ebp),%eax
40f30c:	89 41 3c             	mov    %eax,0x3c(%ecx)
40f30f:	8b 55 0c             	mov    0xc(%ebp),%edx
40f312:	85 d2                	test   %edx,%edx
40f314:	74 02                	je     0x40f318
40f316:	89 02                	mov    %eax,(%edx)
40f318:	8d 46 ff             	lea    -0x1(%esi),%eax
40f31b:	85 c0                	test   %eax,%eax
40f31d:	89 41 38             	mov    %eax,0x38(%ecx)
40f320:	5e                   	pop    %esi
40f321:	0f 94 c0             	sete   %al
40f324:	8b e5                	mov    %ebp,%esp
40f326:	5d                   	pop    %ebp
40f327:	c2 08 00             	ret    $0x8
40f32a:	6a 50                	push   $0x50
40f32c:	8d 44 24 0c          	lea    0xc(%esp),%eax
40f330:	6a 00                	push   $0x0
40f332:	50                   	push   %eax
40f333:	e8 cf 17 00 00       	call   0x410b07
40f338:	83 c4 0c             	add    $0xc,%esp
40f33b:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40f33f:	e8 81 8d ff ff       	call   0x4080c5
40f344:	cc                   	int3
40f345:	8b ff                	mov    %edi,%edi
40f347:	55                   	push   %ebp
40f348:	8b ec                	mov    %esp,%ebp
40f34a:	51                   	push   %ecx
40f34b:	51                   	push   %ecx
40f34c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40f350:	53                   	push   %ebx
40f351:	56                   	push   %esi
40f352:	8b b1 b8 00 00 00    	mov    0xb8(%ecx),%esi
40f358:	57                   	push   %edi
40f359:	85 f6                	test   %esi,%esi
40f35b:	74 15                	je     0x40f372
40f35d:	81 c6 9c 00 00 00    	add    $0x9c,%esi
40f363:	56                   	push   %esi
40f364:	ff 15 1c 31 43 00    	call   *0x43311c
40f36a:	33 db                	xor    %ebx,%ebx
40f36c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40f36f:	43                   	inc    %ebx
40f370:	eb 08                	jmp    0x40f37a
40f372:	6a 02                	push   $0x2
40f374:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f377:	33 f6                	xor    %esi,%esi
40f379:	5b                   	pop    %ebx
40f37a:	8b 7d 08             	mov    0x8(%ebp),%edi
40f37d:	83 20 00             	andl   $0x0,(%eax)
40f380:	89 37                	mov    %esi,(%edi)
40f382:	f6 c3 02             	test   $0x2,%bl
40f385:	74 12                	je     0x40f399
40f387:	83 e3 fd             	and    $0xfffffffd,%ebx
40f38a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40f38e:	74 09                	je     0x40f399
40f390:	ff 75 fc             	push   -0x4(%ebp)
40f393:	ff 15 f8 30 43 00    	call   *0x4330f8
40f399:	f6 c3 01             	test   $0x1,%bl
40f39c:	74 0f                	je     0x40f3ad
40f39e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40f3a2:	74 09                	je     0x40f3ad
40f3a4:	ff 75 f8             	push   -0x8(%ebp)
40f3a7:	ff 15 f8 30 43 00    	call   *0x4330f8
40f3ad:	8b c7                	mov    %edi,%eax
40f3af:	5f                   	pop    %edi
40f3b0:	5e                   	pop    %esi
40f3b1:	5b                   	pop    %ebx
40f3b2:	c9                   	leave
40f3b3:	c2 04 00             	ret    $0x4
40f3b6:	8b ff                	mov    %edi,%edi
40f3b8:	55                   	push   %ebp
40f3b9:	8b ec                	mov    %esp,%ebp
40f3bb:	81 ec 20 02 00 00    	sub    $0x220,%esp
40f3c1:	a1 64 10 41 00       	mov    0x411064,%eax
40f3c6:	33 c5                	xor    %ebp,%eax
40f3c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f3cb:	53                   	push   %ebx
40f3cc:	56                   	push   %esi
40f3cd:	8b da                	mov    %edx,%ebx
40f3cf:	33 f6                	xor    %esi,%esi
40f3d1:	51                   	push   %ecx
40f3d2:	6a 40                	push   $0x40
40f3d4:	89 33                	mov    %esi,(%ebx)
40f3d6:	ff 15 f0 30 43 00    	call   *0x4330f0
40f3dc:	50                   	push   %eax
40f3dd:	68 4c 19 40 00       	push   $0x40194c
40f3e2:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40f3e8:	68 04 01 00 00       	push   $0x104
40f3ed:	50                   	push   %eax
40f3ee:	e8 b5 45 ff ff       	call   0x4039a8
40f3f3:	83 c4 18             	add    $0x18,%esp
40f3f6:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
40f3fc:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40f402:	68 01 00 1f 00       	push   $0x1f0001
40f407:	56                   	push   %esi
40f408:	50                   	push   %eax
40f409:	56                   	push   %esi
40f40a:	ff 15 f4 30 43 00    	call   *0x4330f4
40f410:	50                   	push   %eax
40f411:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40f417:	e8 71 fe ff ff       	call   0x40f28d
40f41c:	39 b5 f0 fd ff ff    	cmp    %esi,-0x210(%ebp)
40f422:	75 0c                	jne    0x40f430
40f424:	e8 52 88 ff ff       	call   0x407c7b
40f429:	8b f0                	mov    %eax,%esi
40f42b:	e9 b3 00 00 00       	jmp    0x40f4e3
40f430:	57                   	push   %edi
40f431:	83 ec 0c             	sub    $0xc,%esp
40f434:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
40f43a:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40f440:	50                   	push   %eax
40f441:	e8 47 03 00 00       	call   0x40f78d
40f446:	51                   	push   %ecx
40f447:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
40f44d:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
40f453:	50                   	push   %eax
40f454:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40f45a:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
40f460:	8b fe                	mov    %esi,%edi
40f462:	e8 49 91 ff ff       	call   0x4085b0
40f467:	8b f0                	mov    %eax,%esi
40f469:	85 f6                	test   %esi,%esi
40f46b:	79 11                	jns    0x40f47e
40f46d:	56                   	push   %esi
40f46e:	51                   	push   %ecx
40f46f:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f472:	6a 62                	push   $0x62
40f474:	5a                   	pop    %edx
40f475:	e8 55 8e ff ff       	call   0x4082cf
40f47a:	8b c7                	mov    %edi,%eax
40f47c:	eb 08                	jmp    0x40f486
40f47e:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
40f484:	33 f6                	xor    %esi,%esi
40f486:	85 f6                	test   %esi,%esi
40f488:	79 0f                	jns    0x40f499
40f48a:	56                   	push   %esi
40f48b:	51                   	push   %ecx
40f48c:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f48f:	6a 6b                	push   $0x6b
40f491:	5a                   	pop    %edx
40f492:	e8 38 8e ff ff       	call   0x4082cf
40f497:	eb 07                	jmp    0x40f4a0
40f499:	8b f8                	mov    %eax,%edi
40f49b:	c1 e7 02             	shl    $0x2,%edi
40f49e:	33 f6                	xor    %esi,%esi
40f4a0:	85 f6                	test   %esi,%esi
40f4a2:	79 07                	jns    0x40f4ab
40f4a4:	ba 26 01 00 00       	mov    $0x126,%edx
40f4a9:	eb 65                	jmp    0x40f510
40f4ab:	85 ff                	test   %edi,%edi
40f4ad:	74 44                	je     0x40f4f3
40f4af:	89 3b                	mov    %edi,(%ebx)
40f4b1:	8b 0f                	mov    (%edi),%ecx
40f4b3:	8b 03                	mov    (%ebx),%eax
40f4b5:	41                   	inc    %ecx
40f4b6:	89 08                	mov    %ecx,(%eax)
40f4b8:	33 f6                	xor    %esi,%esi
40f4ba:	83 bd ec fd ff ff 00 	cmpl   $0x0,-0x214(%ebp)
40f4c1:	5f                   	pop    %edi
40f4c2:	74 0b                	je     0x40f4cf
40f4c4:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
40f4ca:	e8 e7 8e ff ff       	call   0x4083b6
40f4cf:	83 bd f0 fd ff ff 00 	cmpl   $0x0,-0x210(%ebp)
40f4d6:	74 0b                	je     0x40f4e3
40f4d8:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
40f4de:	e8 ae 8e ff ff       	call   0x408391
40f4e3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f4e6:	8b c6                	mov    %esi,%eax
40f4e8:	5e                   	pop    %esi
40f4e9:	33 cd                	xor    %ebp,%ecx
40f4eb:	5b                   	pop    %ebx
40f4ec:	e8 3f 0f 00 00       	call   0x410430
40f4f1:	c9                   	leave
40f4f2:	c3                   	ret
40f4f3:	53                   	push   %ebx
40f4f4:	8d 95 f0 fd ff ff    	lea    -0x210(%ebp),%edx
40f4fa:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40f500:	e8 03 01 00 00       	call   0x40f608
40f505:	8b f0                	mov    %eax,%esi
40f507:	85 f6                	test   %esi,%esi
40f509:	79 ad                	jns    0x40f4b8
40f50b:	ba 2e 01 00 00       	mov    $0x12e,%edx
40f510:	56                   	push   %esi
40f511:	51                   	push   %ecx
40f512:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f515:	e8 b5 8d ff ff       	call   0x4082cf
40f51a:	eb 9e                	jmp    0x40f4ba
40f51c:	8b ff                	mov    %edi,%edi
40f51e:	55                   	push   %ebp
40f51f:	8b ec                	mov    %esp,%ebp
40f521:	51                   	push   %ecx
40f522:	80 3d fc 25 43 00 00 	cmpb   $0x0,0x4325fc
40f529:	53                   	push   %ebx
40f52a:	56                   	push   %esi
40f52b:	57                   	push   %edi
40f52c:	8b d9                	mov    %ecx,%ebx
40f52e:	0f 85 ac 00 00 00    	jne    0x40f5e0
40f534:	8b 3d 00 26 43 00    	mov    0x432600,%edi
40f53a:	33 f6                	xor    %esi,%esi
40f53c:	85 ff                	test   %edi,%edi
40f53e:	74 0f                	je     0x40f54f
40f540:	8b cf                	mov    %edi,%ecx
40f542:	ff 15 18 34 43 00    	call   *0x433418
40f548:	ff d7                	call   *%edi
40f54a:	0f b6 c0             	movzbl %al,%eax
40f54d:	eb 02                	jmp    0x40f551
40f54f:	8b c6                	mov    %esi,%eax
40f551:	85 c0                	test   %eax,%eax
40f553:	0f 85 87 00 00 00    	jne    0x40f5e0
40f559:	83 ec 0c             	sub    $0xc,%esp
40f55c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40f55f:	51                   	push   %ecx
40f560:	8d 4b 04             	lea    0x4(%ebx),%ecx
40f563:	e8 25 02 00 00       	call   0x40f78d
40f568:	8b 03                	mov    (%ebx),%eax
40f56a:	83 e8 01             	sub    $0x1,%eax
40f56d:	89 03                	mov    %eax,(%ebx)
40f56f:	75 60                	jne    0x40f5d1
40f571:	8d 7b 08             	lea    0x8(%ebx),%edi
40f574:	56                   	push   %esi
40f575:	8b cf                	mov    %edi,%ecx
40f577:	e8 11 fd ff ff       	call   0x40f28d
40f57c:	56                   	push   %esi
40f57d:	8d 4f 04             	lea    0x4(%edi),%ecx
40f580:	e8 08 fd ff ff       	call   0x40f28d
40f585:	39 75 fc             	cmp    %esi,-0x4(%ebp)
40f588:	74 1a                	je     0x40f5a4
40f58a:	ff 15 4c 31 43 00    	call   *0x43314c
40f590:	ff 75 fc             	push   -0x4(%ebp)
40f593:	8b f8                	mov    %eax,%edi
40f595:	e8 1c 8e ff ff       	call   0x4083b6
40f59a:	57                   	push   %edi
40f59b:	ff 15 24 31 43 00    	call   *0x433124
40f5a1:	8d 7b 08             	lea    0x8(%ebx),%edi
40f5a4:	8d 4b 18             	lea    0x18(%ebx),%ecx
40f5a7:	e8 8c 01 00 00       	call   0x40f738
40f5ac:	8b cf                	mov    %edi,%ecx
40f5ae:	e8 34 00 00 00       	call   0x40f5e7
40f5b3:	39 73 04             	cmp    %esi,0x4(%ebx)
40f5b6:	74 08                	je     0x40f5c0
40f5b8:	ff 73 04             	push   0x4(%ebx)
40f5bb:	e8 d1 8d ff ff       	call   0x408391
40f5c0:	53                   	push   %ebx
40f5c1:	56                   	push   %esi
40f5c2:	ff 15 44 31 43 00    	call   *0x433144
40f5c8:	50                   	push   %eax
40f5c9:	ff 15 48 31 43 00    	call   *0x433148
40f5cf:	eb 03                	jmp    0x40f5d4
40f5d1:	8b 75 fc             	mov    -0x4(%ebp),%esi
40f5d4:	85 f6                	test   %esi,%esi
40f5d6:	74 0a                	je     0x40f5e2
40f5d8:	56                   	push   %esi