41915c:	50                   	push   %eax
41915d:	6a ff                	push   $0xffffffff
41915f:	ff b5 44 f4 ff ff    	push   -0xbbc(%ebp)
419165:	56                   	push   %esi
419166:	8b 35 6c 40 42 00    	mov    0x42406c,%esi
41916c:	8b ce                	mov    %esi,%ecx
41916e:	ff 15 78 64 42 00    	call   *0x426478
419174:	ff d6                	call   *%esi
419176:	33 c0                	xor    %eax,%eax
419178:	40                   	inc    %eax
419179:	39 85 38 f4 ff ff    	cmp    %eax,-0xbc8(%ebp)
41917f:	75 2f                	jne    0x4191b0
419181:	83 bd 4c f4 ff ff 00 	cmpl   $0x0,-0xbb4(%ebp)
419188:	74 1a                	je     0x4191a4
41918a:	8b 35 8c 40 42 00    	mov    0x42408c,%esi
419190:	8b ce                	mov    %esi,%ecx
419192:	6a 08                	push   $0x8
419194:	ff 15 78 64 42 00    	call   *0x426478
41919a:	ff d6                	call   *%esi
41919c:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
4191a2:	eb 16                	jmp    0x4191ba
4191a4:	c7 85 4c f4 ff ff ff 	movl   $0xffffff,-0xbb4(%ebp)
4191ab:	ff ff 00
4191ae:	eb 0a                	jmp    0x4191ba
4191b0:	c7 85 4c f4 ff ff a8 	movl   $0xffa8a8a8,-0xbb4(%ebp)
4191b7:	a8 a8 ff
4191ba:	8b 95 64 f4 ff ff    	mov    -0xb9c(%ebp),%edx
4191c0:	8b f3                	mov    %ebx,%esi
4191c2:	89 9d 68 f4 ff ff    	mov    %ebx,-0xb98(%ebp)
4191c8:	8b cb                	mov    %ebx,%ecx
4191ca:	85 d2                	test   %edx,%edx
4191cc:	79 0c                	jns    0x4191da
4191ce:	8b f2                	mov    %edx,%esi
4191d0:	8b d3                	mov    %ebx,%edx
4191d2:	f7 de                	neg    %esi
4191d4:	89 b5 68 f4 ff ff    	mov    %esi,-0xb98(%ebp)
4191da:	8b 85 78 f4 ff ff    	mov    -0xb88(%ebp),%eax
4191e0:	85 c0                	test   %eax,%eax
4191e2:	79 06                	jns    0x4191ea
4191e4:	8b c8                	mov    %eax,%ecx
4191e6:	8b c3                	mov    %ebx,%eax
4191e8:	f7 d9                	neg    %ecx
4191ea:	8b bd 98 fb ff ff    	mov    -0x468(%ebp),%edi
4191f0:	2b fe                	sub    %esi,%edi
4191f2:	8b b5 20 f4 ff ff    	mov    -0xbe0(%ebp),%esi
4191f8:	2b f2                	sub    %edx,%esi
4191fa:	89 bd 64 f4 ff ff    	mov    %edi,-0xb9c(%ebp)
419200:	3b fe                	cmp    %esi,%edi
419202:	7c 08                	jl     0x41920c
419204:	8b fe                	mov    %esi,%edi
419206:	89 b5 64 f4 ff ff    	mov    %esi,-0xb9c(%ebp)
41920c:	8b b5 9c fb ff ff    	mov    -0x464(%ebp),%esi
419212:	29 85 1c f4 ff ff    	sub    %eax,-0xbe4(%ebp)
419218:	2b f1                	sub    %ecx,%esi
41921a:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
419220:	3b b5 1c f4 ff ff    	cmp    -0xbe4(%ebp),%esi
419226:	7c 0c                	jl     0x419234
419228:	8b b5 1c f4 ff ff    	mov    -0xbe4(%ebp),%esi
41922e:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
419234:	85 ff                	test   %edi,%edi
419236:	0f 8e 90 01 00 00    	jle    0x4193cc
41923c:	85 f6                	test   %esi,%esi
41923e:	0f 8e 88 01 00 00    	jle    0x4193cc
419244:	0f af 85 20 f4 ff ff 	imul   -0xbe0(%ebp),%eax
41924b:	0f af 8d 98 fb ff ff 	imul   -0x468(%ebp),%ecx
419252:	8b b5 34 f4 ff ff    	mov    -0xbcc(%ebp),%esi
419258:	03 c2                	add    %edx,%eax
41925a:	8b 95 30 f4 ff ff    	mov    -0xbd0(%ebp),%edx
419260:	03 8d 68 f4 ff ff    	add    -0xb98(%ebp),%ecx
419266:	8d 04 82             	lea    (%edx,%eax,4),%eax
419269:	8b 95 98 fb ff ff    	mov    -0x468(%ebp),%edx
41926f:	c1 e2 02             	shl    $0x2,%edx
419272:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
419275:	89 95 30 f4 ff ff    	mov    %edx,-0xbd0(%ebp)
41927b:	8b 95 20 f4 ff ff    	mov    -0xbe0(%ebp),%edx
419281:	c1 e2 02             	shl    $0x2,%edx
419284:	89 8d 68 f4 ff ff    	mov    %ecx,-0xb98(%ebp)
41928a:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
419290:	89 95 34 f4 ff ff    	mov    %edx,-0xbcc(%ebp)
419296:	8b b5 64 f4 ff ff    	mov    -0xb9c(%ebp),%esi
41929c:	8d 50 03             	lea    0x3(%eax),%edx
41929f:	8b d8                	mov    %eax,%ebx
4192a1:	89 95 20 f4 ff ff    	mov    %edx,-0xbe0(%ebp)
4192a7:	2b d9                	sub    %ecx,%ebx
4192a9:	89 b5 14 f4 ff ff    	mov    %esi,-0xbec(%ebp)
4192af:	8d 79 02             	lea    0x2(%ecx),%edi
4192b2:	89 9d 1c f4 ff ff    	mov    %ebx,-0xbe4(%ebp)
4192b8:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
4192bc:	0f b6 4f ff          	movzbl -0x1(%edi),%ecx
4192c0:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4192c3:	0f b6 07             	movzbl (%edi),%eax
4192c6:	03 c8                	add    %eax,%ecx
4192c8:	c1 e9 02             	shr    $0x2,%ecx
4192cb:	f6 d1                	not    %cl
4192cd:	84 c9                	test   %cl,%cl
4192cf:	0f 84 a9 00 00 00    	je     0x41937e
4192d5:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
4192d8:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4192de:	0f b6 c0             	movzbl %al,%eax
4192e1:	0f b6 f1             	movzbl %cl,%esi
4192e4:	0f b6 cb             	movzbl %bl,%ecx
4192e7:	2b c1                	sub    %ecx,%eax
4192e9:	b9 ff 00 00 00       	mov    $0xff,%ecx
4192ee:	0f af c6             	imul   %esi,%eax
4192f1:	99                   	cltd
4192f2:	f7 f9                	idiv   %ecx
4192f4:	8b 8d 1c f4 ff ff    	mov    -0xbe4(%ebp),%ecx
4192fa:	02 c3                	add    %bl,%al
4192fc:	88 04 39             	mov    %al,(%ecx,%edi,1)
4192ff:	8b 85 20 f4 ff ff    	mov    -0xbe0(%ebp),%eax
419305:	8a 58 fe             	mov    -0x2(%eax),%bl
419308:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
41930e:	0f b6 c4             	movzbl %ah,%eax
419311:	0f b6 cb             	movzbl %bl,%ecx
419314:	2b c1                	sub    %ecx,%eax
419316:	b9 ff 00 00 00       	mov    $0xff,%ecx
41931b:	0f af c6             	imul   %esi,%eax
41931e:	99                   	cltd
41931f:	f7 f9                	idiv   %ecx
419321:	8b 8d 20 f4 ff ff    	mov    -0xbe0(%ebp),%ecx
419327:	02 c3                	add    %bl,%al
419329:	88 41 fe             	mov    %al,-0x2(%ecx)
41932c:	8a 59 fd             	mov    -0x3(%ecx),%bl
41932f:	0f b6 85 4e f4 ff ff 	movzbl -0xbb2(%ebp),%eax
419336:	0f b6 cb             	movzbl %bl,%ecx
419339:	2b c1                	sub    %ecx,%eax
41933b:	b9 ff 00 00 00       	mov    $0xff,%ecx
419340:	0f af c6             	imul   %esi,%eax
419343:	99                   	cltd
419344:	f7 f9                	idiv   %ecx
419346:	8b 8d 20 f4 ff ff    	mov    -0xbe0(%ebp),%ecx
41934c:	02 c3                	add    %bl,%al
41934e:	88 41 fd             	mov    %al,-0x3(%ecx)
419351:	b8 ff 00 00 00       	mov    $0xff,%eax
419356:	8a 19                	mov    (%ecx),%bl
419358:	0f b6 cb             	movzbl %bl,%ecx
41935b:	2b c1                	sub    %ecx,%eax
41935d:	b9 ff 00 00 00       	mov    $0xff,%ecx
419362:	0f af c6             	imul   %esi,%eax
419365:	8b b5 14 f4 ff ff    	mov    -0xbec(%ebp),%esi
41936b:	99                   	cltd
41936c:	f7 f9                	idiv   %ecx
41936e:	8b 95 20 f4 ff ff    	mov    -0xbe0(%ebp),%edx
419374:	02 c3                	add    %bl,%al
419376:	8b 9d 1c f4 ff ff    	mov    -0xbe4(%ebp),%ebx
41937c:	88 02                	mov    %al,(%edx)
41937e:	83 c2 04             	add    $0x4,%edx
419381:	83 c7 04             	add    $0x4,%edi
419384:	83 ee 01             	sub    $0x1,%esi
419387:	89 95 20 f4 ff ff    	mov    %edx,-0xbe0(%ebp)
41938d:	89 b5 14 f4 ff ff    	mov    %esi,-0xbec(%ebp)
419393:	0f 85 1f ff ff ff    	jne    0x4192b8
419399:	8b 8d 68 f4 ff ff    	mov    -0xb98(%ebp),%ecx
41939f:	8b 85 44 f4 ff ff    	mov    -0xbbc(%ebp),%eax
4193a5:	03 8d 30 f4 ff ff    	add    -0xbd0(%ebp),%ecx
4193ab:	03 85 34 f4 ff ff    	add    -0xbcc(%ebp),%eax
4193b1:	83 ad 78 f4 ff ff 01 	subl   $0x1,-0xb88(%ebp)
4193b8:	89 8d 68 f4 ff ff    	mov    %ecx,-0xb98(%ebp)
4193be:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
4193c4:	0f 85 cc fe ff ff    	jne    0x419296
4193ca:	33 db                	xor    %ebx,%ebx
4193cc:	ff b5 84 f4 ff ff    	push   -0xb7c(%ebp)
4193d2:	8b 35 1c 40 42 00    	mov    0x42401c,%esi
4193d8:	8b ce                	mov    %esi,%ecx
4193da:	ff 15 78 64 42 00    	call   *0x426478
4193e0:	ff d6                	call   *%esi
4193e2:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
4193e8:	8b bd 0c f4 ff ff    	mov    -0xbf4(%ebp),%edi
4193ee:	85 c0                	test   %eax,%eax
4193f0:	74 12                	je     0x419404
4193f2:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
4193f8:	8b ce                	mov    %esi,%ecx
4193fa:	50                   	push   %eax
4193fb:	57                   	push   %edi
4193fc:	ff 15 78 64 42 00    	call   *0x426478
419402:	ff d6                	call   *%esi
419404:	8b 35 18 40 42 00    	mov    0x424018,%esi
41940a:	8b ce                	mov    %esi,%ecx
41940c:	57                   	push   %edi
41940d:	ff 15 78 64 42 00    	call   *0x426478
419413:	ff d6                	call   *%esi
419415:	83 bd 10 f4 ff ff 00 	cmpl   $0x0,-0xbf0(%ebp)
41941c:	0f 8c 32 06 00 00    	jl     0x419a54
419422:	8b 85 f4 f6 ff ff    	mov    -0x90c(%ebp),%eax
419428:	8b b5 fc f6 ff ff    	mov    -0x904(%ebp),%esi
41942e:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
419434:	8b 85 08 f7 ff ff    	mov    -0x8f8(%ebp),%eax
41943a:	6a 54                	push   $0x54
41943c:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
419442:	8d 85 a0 f7 ff ff    	lea    -0x860(%ebp),%eax
419448:	53                   	push   %ebx
419449:	50                   	push   %eax
41944a:	89 b5 84 f4 ff ff    	mov    %esi,-0xb7c(%ebp)
419450:	e8 f3 93 00 00       	call   0x422848
419455:	83 c4 0c             	add    $0xc,%esp
419458:	8d 85 48 f7 ff ff    	lea    -0x8b8(%ebp),%eax
41945e:	6a 54                	push   $0x54
419460:	53                   	push   %ebx
419461:	50                   	push   %eax
419462:	e8 e1 93 00 00       	call   0x422848
419467:	83 c4 0c             	add    $0xc,%esp
41946a:	89 9d 80 f4 ff ff    	mov    %ebx,-0xb80(%ebp)
419470:	8d 85 e4 fa ff ff    	lea    -0x51c(%ebp),%eax
419476:	89 9d 4c f4 ff ff    	mov    %ebx,-0xbb4(%ebp)
41947c:	89 9d 68 f4 ff ff    	mov    %ebx,-0xb98(%ebp)
419482:	89 9d 44 f4 ff ff    	mov    %ebx,-0xbbc(%ebp)
419488:	6a 2c                	push   $0x2c
41948a:	53                   	push   %ebx
41948b:	50                   	push   %eax
41948c:	e8 b7 93 00 00       	call   0x422848
419491:	33 c0                	xor    %eax,%eax
419493:	8d bd 80 fb ff ff    	lea    -0x480(%ebp),%edi
419499:	ab                   	stos   %eax,%es:(%edi)
41949a:	83 c4 0c             	add    $0xc,%esp
41949d:	ab                   	stos   %eax,%es:(%edi)
41949e:	ab                   	stos   %eax,%es:(%edi)
41949f:	ab                   	stos   %eax,%es:(%edi)
4194a0:	85 f6                	test   %esi,%esi
4194a2:	0f 84 ac 05 00 00    	je     0x419a54
4194a8:	8b 35 28 40 42 00    	mov    0x424028,%esi
4194ae:	8b ce                	mov    %esi,%ecx
4194b0:	8b bd 58 f4 ff ff    	mov    -0xba8(%ebp),%edi
4194b6:	6a 07                	push   $0x7
4194b8:	57                   	push   %edi
4194b9:	ff 15 78 64 42 00    	call   *0x426478
4194bf:	ff d6                	call   *%esi
4194c1:	85 c0                	test   %eax,%eax
4194c3:	0f 84 7c fa ff ff    	je     0x418f45
4194c9:	8b 35 34 40 42 00    	mov    0x424034,%esi
4194cf:	8d 8d a0 f7 ff ff    	lea    -0x860(%ebp),%ecx
4194d5:	51                   	push   %ecx
4194d6:	6a 54                	push   $0x54
4194d8:	50                   	push   %eax
4194d9:	8b ce                	mov    %esi,%ecx
4194db:	ff 15 78 64 42 00    	call   *0x426478
4194e1:	ff d6                	call   *%esi
4194e3:	85 c0                	test   %eax,%eax
4194e5:	74 24                	je     0x41950b
4194e7:	8b 85 b4 f7 ff ff    	mov    -0x84c(%ebp),%eax
4194ed:	89 85 80 f4 ff ff    	mov    %eax,-0xb80(%ebp)
4194f3:	8b 85 a4 f7 ff ff    	mov    -0x85c(%ebp),%eax
4194f9:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
4194ff:	8b 85 a8 f7 ff ff    	mov    -0x858(%ebp),%eax
419505:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
41950b:	8b 35 08 40 42 00    	mov    0x424008,%esi
419511:	8b ce                	mov    %esi,%ecx
419513:	57                   	push   %edi
419514:	ff 15 78 64 42 00    	call   *0x426478
41951a:	ff d6                	call   *%esi
41951c:	8b c8                	mov    %eax,%ecx
41951e:	89 8d 30 f4 ff ff    	mov    %ecx,-0xbd0(%ebp)
419524:	85 c9                	test   %ecx,%ecx
419526:	0f 84 19 fa ff ff    	je     0x418f45
41952c:	8b 85 70 f4 ff ff    	mov    -0xb90(%ebp),%eax
419532:	2b 85 5c f4 ff ff    	sub    -0xba4(%ebp),%eax
419538:	8b bd 40 f4 ff ff    	mov    -0xbc0(%ebp),%edi
41953e:	8b 35 0c 40 42 00    	mov    0x42400c,%esi
419544:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
41954a:	89 85 e8 fa ff ff    	mov    %eax,-0x518(%ebp)
419550:	8b c7                	mov    %edi,%eax
419552:	2b 85 48 f4 ff ff    	sub    -0xbb8(%ebp),%eax
419558:	89 85 ec fa ff ff    	mov    %eax,-0x514(%ebp)
41955e:	33 c0                	xor    %eax,%eax
419560:	6a 20                	push   $0x20
419562:	40                   	inc    %eax
419563:	89 9d c8 f3 ff ff    	mov    %ebx,-0xc38(%ebp)
419569:	66 89 85 f0 fa ff ff 	mov    %ax,-0x510(%ebp)
419570:	58                   	pop    %eax
419571:	53                   	push   %ebx
419572:	53                   	push   %ebx
419573:	66 89 85 f2 fa ff ff 	mov    %ax,-0x50e(%ebp)
41957a:	8d 85 c8 f3 ff ff    	lea    -0xc38(%ebp),%eax
419580:	50                   	push   %eax
419581:	53                   	push   %ebx
419582:	8d 85 e4 fa ff ff    	lea    -0x51c(%ebp),%eax
419588:	89 9d 34 f4 ff ff    	mov    %ebx,-0xbcc(%ebp)
41958e:	50                   	push   %eax
41958f:	51                   	push   %ecx
419590:	8b ce                	mov    %esi,%ecx
419592:	89 9d f4 fa ff ff    	mov    %ebx,-0x50c(%ebp)
419598:	89 9d f8 fa ff ff    	mov    %ebx,-0x508(%ebp)
41959e:	89 9d fc fa ff ff    	mov    %ebx,-0x504(%ebp)
4195a4:	89 9d 00 fb ff ff    	mov    %ebx,-0x500(%ebp)
4195aa:	89 9d 04 fb ff ff    	mov    %ebx,-0x4fc(%ebp)
4195b0:	89 9d 08 fb ff ff    	mov    %ebx,-0x4f8(%ebp)
4195b6:	89 9d 0c fb ff ff    	mov    %ebx,-0x4f4(%ebp)
4195bc:	c7 85 e4 fa ff ff 28 	movl   $0x28,-0x51c(%ebp)
4195c3:	00 00 00
4195c6:	ff 15 78 64 42 00    	call   *0x426478
4195cc:	ff d6                	call   *%esi
4195ce:	89 85 20 f4 ff ff    	mov    %eax,-0xbe0(%ebp)
4195d4:	85 c0                	test   %eax,%eax
4195d6:	75 3b                	jne    0x419613
4195d8:	ff 15 70 61 42 00    	call   *0x426170
4195de:	89 85 34 f4 ff ff    	mov    %eax,-0xbcc(%ebp)
4195e4:	85 c0                	test   %eax,%eax
4195e6:	7e 10                	jle    0x4195f8
4195e8:	0f b7 c0             	movzwl %ax,%eax
4195eb:	0d 00 00 07 80       	or     $0x80070000,%eax
4195f0:	89 85 34 f4 ff ff    	mov    %eax,-0xbcc(%ebp)
4195f6:	85 c0                	test   %eax,%eax
4195f8:	8b bd 30 f4 ff ff    	mov    -0xbd0(%ebp),%edi
4195fe:	0f 88 8e 03 00 00    	js     0x419992
419604:	c7 85 34 f4 ff ff 05 	movl   $0x80004005,-0xbcc(%ebp)
41960b:	40 00 80
41960e:	e9 7f 03 00 00       	jmp    0x419992
419613:	8b 35 34 40 42 00    	mov    0x424034,%esi
419619:	8d 8d 48 f7 ff ff    	lea    -0x8b8(%ebp),%ecx
41961f:	51                   	push   %ecx
419620:	6a 54                	push   $0x54
419622:	50                   	push   %eax
419623:	8b ce                	mov    %esi,%ecx
419625:	ff 15 78 64 42 00    	call   *0x426478
41962b:	ff d6                	call   *%esi
41962d:	85 c0                	test   %eax,%eax
41962f:	74 0c                	je     0x41963d
419631:	8b 85 5c f7 ff ff    	mov    -0x8a4(%ebp),%eax
419637:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
41963d:	8b 85 70 f4 ff ff    	mov    -0xb90(%ebp),%eax
419643:	ff b5 20 f4 ff ff    	push   -0xbe0(%ebp)
419649:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
41964f:	8b ce                	mov    %esi,%ecx
419651:	89 85 88 fb ff ff    	mov    %eax,-0x478(%ebp)
419657:	8b 85 48 f4 ff ff    	mov    -0xbb8(%ebp),%eax
41965d:	2b c7                	sub    %edi,%eax
41965f:	8b bd 30 f4 ff ff    	mov    -0xbd0(%ebp),%edi
419665:	57                   	push   %edi
419666:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
41966c:	ff 15 78 64 42 00    	call   *0x426478
419672:	ff d6                	call   *%esi
419674:	8b 35 40 40 42 00    	mov    0x424040,%esi
41967a:	33 c0                	xor    %eax,%eax
41967c:	40                   	inc    %eax
41967d:	8b ce                	mov    %esi,%ecx
41967f:	50                   	push   %eax
419680:	57                   	push   %edi
419681:	ff 15 78 64 42 00    	call   *0x426478
419687:	ff d6                	call   *%esi
419689:	ff b5 78 f4 ff ff    	push   -0xb88(%ebp)
41968f:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
419695:	8b ce                	mov    %esi,%ecx
419697:	57                   	push   %edi
419698:	ff 15 78 64 42 00    	call   *0x426478
41969e:	ff d6                	call   *%esi
4196a0:	8b 35 38 40 42 00    	mov    0x424038,%esi
4196a6:	8b ce                	mov    %esi,%ecx
4196a8:	8b 3d 74 40 42 00    	mov    0x424074,%edi
4196ae:	53                   	push   %ebx
4196af:	89 85 78 f4 ff ff    	mov    %eax,-0xb88(%ebp)
4196b5:	ff 15 78 64 42 00    	call   *0x426478