449205:	89 b5 dc f0 ff ff    	mov    %esi,-0xf24(%ebp)
44920b:	66 89 85 b0 fb ff ff 	mov    %ax,-0x450(%ebp)
449212:	33 c9                	xor    %ecx,%ecx
449214:	58                   	pop    %eax
449215:	51                   	push   %ecx
449216:	51                   	push   %ecx
449217:	66 89 85 b2 fb ff ff 	mov    %ax,-0x44e(%ebp)
44921e:	8d 85 dc f0 ff ff    	lea    -0xf24(%ebp),%eax
449224:	50                   	push   %eax
449225:	51                   	push   %ecx
449226:	8d 85 a4 fb ff ff    	lea    -0x45c(%ebp),%eax
44922c:	89 b5 b4 fb ff ff    	mov    %esi,-0x44c(%ebp)
449232:	50                   	push   %eax
449233:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
449239:	89 b5 bc fb ff ff    	mov    %esi,-0x444(%ebp)
44923f:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
449245:	89 b5 c4 fb ff ff    	mov    %esi,-0x43c(%ebp)
44924b:	89 b5 c8 fb ff ff    	mov    %esi,-0x438(%ebp)
449251:	89 b5 cc fb ff ff    	mov    %esi,-0x434(%ebp)
449257:	8b 35 5c 00 4a 00    	mov    0x4a005c,%esi
44925d:	8b ce                	mov    %esi,%ecx
44925f:	52                   	push   %edx
449260:	89 bd 98 f1 ff ff    	mov    %edi,-0xe68(%ebp)
449266:	c7 85 a4 fb ff ff 28 	movl   $0x28,-0x45c(%ebp)
44926d:	00 00 00
449270:	ff 15 2c 81 4a 00    	call   *0x4a812c
449276:	ff d6                	call   *%esi
449278:	89 85 8c f1 ff ff    	mov    %eax,-0xe74(%ebp)
44927e:	c7 85 24 f2 ff ff ff 	movl   $0xff,-0xddc(%ebp)
449285:	00 00 00
449288:	85 c0                	test   %eax,%eax
44928a:	75 27                	jne    0x4492b3
44928c:	ff 15 b8 72 4a 00    	call   *0x4a72b8
449292:	8b f8                	mov    %eax,%edi
449294:	85 ff                	test   %edi,%edi
449296:	7e 0b                	jle    0x4492a3
449298:	0f b7 ff             	movzwl %di,%edi
44929b:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4492a1:	85 ff                	test   %edi,%edi
4492a3:	0f 88 ca 03 00 00    	js     0x449673
4492a9:	bf 05 40 00 80       	mov    $0x80004005,%edi
4492ae:	e9 c0 03 00 00       	jmp    0x449673
4492b3:	8b 35 84 00 4a 00    	mov    0x4a0084,%esi
4492b9:	8d 8d d4 f2 ff ff    	lea    -0xd2c(%ebp),%ecx
4492bf:	51                   	push   %ecx
4492c0:	6a 54                	push   $0x54
4492c2:	50                   	push   %eax
4492c3:	8b ce                	mov    %esi,%ecx
4492c5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4492cb:	ff d6                	call   *%esi
4492cd:	85 c0                	test   %eax,%eax
4492cf:	74 0c                	je     0x4492dd
4492d1:	8b 85 e8 f2 ff ff    	mov    -0xd18(%ebp),%eax
4492d7:	89 85 08 f2 ff ff    	mov    %eax,-0xdf8(%ebp)
4492dd:	8b 85 4c f5 ff ff    	mov    -0xab4(%ebp),%eax
4492e3:	2b 85 44 f5 ff ff    	sub    -0xabc(%ebp),%eax
4492e9:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
4492ef:	8b 35 8c 00 4a 00    	mov    0x4a008c,%esi
4492f5:	8b ce                	mov    %esi,%ecx
4492f7:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
4492fd:	89 85 18 fc ff ff    	mov    %eax,-0x3e8(%ebp)
449303:	8b 85 50 f5 ff ff    	mov    -0xab0(%ebp),%eax
449309:	2b 85 48 f5 ff ff    	sub    -0xab8(%ebp),%eax
44930f:	89 85 1c fc ff ff    	mov    %eax,-0x3e4(%ebp)
449315:	ff 15 2c 81 4a 00    	call   *0x4a812c
44931b:	ff d6                	call   *%esi
44931d:	8b 35 90 00 4a 00    	mov    0x4a0090,%esi
449323:	33 c0                	xor    %eax,%eax
449325:	40                   	inc    %eax
449326:	8b ce                	mov    %esi,%ecx
449328:	50                   	push   %eax
449329:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
44932f:	ff 15 2c 81 4a 00    	call   *0x4a812c
449335:	ff d6                	call   *%esi
449337:	ff b5 fc f1 ff ff    	push   -0xe04(%ebp)
44933d:	8b 35 8c 00 4a 00    	mov    0x4a008c,%esi
449343:	8b ce                	mov    %esi,%ecx
449345:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
44934b:	ff 15 2c 81 4a 00    	call   *0x4a812c
449351:	ff d6                	call   *%esi
449353:	8b 35 88 00 4a 00    	mov    0x4a0088,%esi
449359:	8b ce                	mov    %esi,%ecx
44935b:	89 85 88 f1 ff ff    	mov    %eax,-0xe78(%ebp)
449361:	33 c0                	xor    %eax,%eax
449363:	50                   	push   %eax
449364:	ff 15 2c 81 4a 00    	call   *0x4a812c
44936a:	ff d6                	call   *%esi
44936c:	8b 35 c4 00 4a 00    	mov    0x4a00c4,%esi
449372:	8b ce                	mov    %esi,%ecx
449374:	50                   	push   %eax
449375:	8d 85 10 fc ff ff    	lea    -0x3f0(%ebp),%eax
44937b:	50                   	push   %eax
44937c:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
449382:	ff 15 2c 81 4a 00    	call   *0x4a812c
449388:	ff d6                	call   *%esi
44938a:	8b 35 bc 00 4a 00    	mov    0x4a00bc,%esi
449390:	33 c0                	xor    %eax,%eax
449392:	50                   	push   %eax
449393:	ff b5 e4 f1 ff ff    	push   -0xe1c(%ebp)
449399:	8d 85 10 fc ff ff    	lea    -0x3f0(%ebp),%eax
44939f:	8b ce                	mov    %esi,%ecx
4493a1:	50                   	push   %eax
4493a2:	6a ff                	push   $0xffffffff
4493a4:	ff b5 d0 f1 ff ff    	push   -0xe30(%ebp)
4493aa:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
4493b0:	ff 15 2c 81 4a 00    	call   *0x4a812c
4493b6:	ff d6                	call   *%esi
4493b8:	33 c0                	xor    %eax,%eax
4493ba:	40                   	inc    %eax
4493bb:	39 85 10 f2 ff ff    	cmp    %eax,-0xdf0(%ebp)
4493c1:	75 2e                	jne    0x4493f1
4493c3:	39 bd 04 f2 ff ff    	cmp    %edi,-0xdfc(%ebp)
4493c9:	74 1a                	je     0x4493e5
4493cb:	8b 35 dc 00 4a 00    	mov    0x4a00dc,%esi
4493d1:	8b ce                	mov    %esi,%ecx
4493d3:	6a 08                	push   $0x8
4493d5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4493db:	ff d6                	call   *%esi
4493dd:	89 85 c0 f1 ff ff    	mov    %eax,-0xe40(%ebp)
4493e3:	eb 16                	jmp    0x4493fb
4493e5:	c7 85 c0 f1 ff ff ff 	movl   $0xffffff,-0xe40(%ebp)
4493ec:	ff ff 00
4493ef:	eb 0a                	jmp    0x4493fb
4493f1:	c7 85 c0 f1 ff ff a8 	movl   $0xffa8a8a8,-0xe40(%ebp)
4493f8:	a8 a8 ff
4493fb:	8b b5 44 f5 ff ff    	mov    -0xabc(%ebp),%esi
449401:	33 c9                	xor    %ecx,%ecx
449403:	8b 85 48 f5 ff ff    	mov    -0xab8(%ebp),%eax
449409:	8b d1                	mov    %ecx,%edx
44940b:	89 b5 dc f1 ff ff    	mov    %esi,-0xe24(%ebp)
449411:	89 95 04 f2 ff ff    	mov    %edx,-0xdfc(%ebp)
449417:	85 f6                	test   %esi,%esi
449419:	79 12                	jns    0x44942d
44941b:	8b d6                	mov    %esi,%edx
44941d:	f7 da                	neg    %edx
44941f:	33 f6                	xor    %esi,%esi
449421:	89 95 04 f2 ff ff    	mov    %edx,-0xdfc(%ebp)
449427:	89 b5 dc f1 ff ff    	mov    %esi,-0xe24(%ebp)
44942d:	85 c0                	test   %eax,%eax
44942f:	79 06                	jns    0x449437
449431:	8b c8                	mov    %eax,%ecx
449433:	f7 d9                	neg    %ecx
449435:	33 c0                	xor    %eax,%eax
449437:	8b b5 18 fc ff ff    	mov    -0x3e8(%ebp),%esi
44943d:	2b f2                	sub    %edx,%esi
44943f:	8b 95 f4 f1 ff ff    	mov    -0xe0c(%ebp),%edx
449445:	2b 95 dc f1 ff ff    	sub    -0xe24(%ebp),%edx
44944b:	89 b5 d4 f1 ff ff    	mov    %esi,-0xe2c(%ebp)
449451:	3b f2                	cmp    %edx,%esi
449453:	7c 08                	jl     0x44945d
449455:	8b f2                	mov    %edx,%esi
449457:	89 95 d4 f1 ff ff    	mov    %edx,-0xe2c(%ebp)
44945d:	8b 95 1c fc ff ff    	mov    -0x3e4(%ebp),%edx
449463:	29 85 00 f2 ff ff    	sub    %eax,-0xe00(%ebp)
449469:	2b d1                	sub    %ecx,%edx
44946b:	89 95 b4 f1 ff ff    	mov    %edx,-0xe4c(%ebp)
449471:	3b 95 00 f2 ff ff    	cmp    -0xe00(%ebp),%edx
449477:	7c 0c                	jl     0x449485
449479:	8b 95 00 f2 ff ff    	mov    -0xe00(%ebp),%edx
44947f:	89 95 b4 f1 ff ff    	mov    %edx,-0xe4c(%ebp)
449485:	85 f6                	test   %esi,%esi
449487:	0f 8e af 01 00 00    	jle    0x44963c
44948d:	85 d2                	test   %edx,%edx
44948f:	0f 8e a7 01 00 00    	jle    0x44963c
449495:	8b 95 18 fc ff ff    	mov    -0x3e8(%ebp),%edx
44949b:	0f af 85 f4 f1 ff ff 	imul   -0xe0c(%ebp),%eax
4494a2:	8b bd e8 f1 ff ff    	mov    -0xe18(%ebp),%edi
4494a8:	8b b5 08 f2 ff ff    	mov    -0xdf8(%ebp),%esi
4494ae:	0f af ca             	imul   %edx,%ecx
4494b1:	c1 e2 02             	shl    $0x2,%edx
4494b4:	03 85 dc f1 ff ff    	add    -0xe24(%ebp),%eax
4494ba:	89 95 fc f1 ff ff    	mov    %edx,-0xe04(%ebp)
4494c0:	8b 95 f4 f1 ff ff    	mov    -0xe0c(%ebp),%edx
4494c6:	03 8d 04 f2 ff ff    	add    -0xdfc(%ebp),%ecx
4494cc:	8d 04 87             	lea    (%edi,%eax,4),%eax
4494cf:	c1 e2 02             	shl    $0x2,%edx
4494d2:	89 85 e8 f1 ff ff    	mov    %eax,-0xe18(%ebp)
4494d8:	89 95 d0 f1 ff ff    	mov    %edx,-0xe30(%ebp)
4494de:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
4494e1:	89 8d c8 f1 ff ff    	mov    %ecx,-0xe38(%ebp)
4494e7:	8d 70 03             	lea    0x3(%eax),%esi
4494ea:	2b c1                	sub    %ecx,%eax
4494ec:	89 85 04 f2 ff ff    	mov    %eax,-0xdfc(%ebp)
4494f2:	8d 79 02             	lea    0x2(%ecx),%edi
4494f5:	8b 85 d4 f1 ff ff    	mov    -0xe2c(%ebp),%eax
4494fb:	89 b5 00 f2 ff ff    	mov    %esi,-0xe00(%ebp)
449501:	89 85 08 f2 ff ff    	mov    %eax,-0xdf8(%ebp)
449507:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
44950b:	0f b6 4f ff          	movzbl -0x1(%edi),%ecx
44950f:	8d 14 48             	lea    (%eax,%ecx,2),%edx
449512:	0f b6 07             	movzbl (%edi),%eax
449515:	03 d0                	add    %eax,%edx
449517:	c1 ea 02             	shr    $0x2,%edx
44951a:	f6 d2                	not    %dl
44951c:	84 d2                	test   %dl,%dl
44951e:	0f 84 c8 00 00 00    	je     0x4495ec
449524:	8b 85 04 f2 ff ff    	mov    -0xdfc(%ebp),%eax
44952a:	0f b6 f2             	movzbl %dl,%esi
44952d:	8a 0c 38             	mov    (%eax,%edi,1),%cl
449530:	8b 85 c0 f1 ff ff    	mov    -0xe40(%ebp),%eax
449536:	0f b6 c0             	movzbl %al,%eax
449539:	88 8d 1b f2 ff ff    	mov    %cl,-0xde5(%ebp)
44953f:	0f b6 c9             	movzbl %cl,%ecx
449542:	2b c1                	sub    %ecx,%eax
449544:	8b 8d 04 f2 ff ff    	mov    -0xdfc(%ebp),%ecx
44954a:	0f af c6             	imul   %esi,%eax
44954d:	99                   	cltd
44954e:	f7 bd 24 f2 ff ff    	idivl  -0xddc(%ebp)
449554:	02 85 1b f2 ff ff    	add    -0xde5(%ebp),%al
44955a:	88 04 39             	mov    %al,(%ecx,%edi,1)
44955d:	8b 85 00 f2 ff ff    	mov    -0xe00(%ebp),%eax
449563:	8a 48 fe             	mov    -0x2(%eax),%cl
449566:	8b 85 c0 f1 ff ff    	mov    -0xe40(%ebp),%eax
44956c:	0f b6 c4             	movzbl %ah,%eax
44956f:	88 8d 1b f2 ff ff    	mov    %cl,-0xde5(%ebp)
449575:	0f b6 c9             	movzbl %cl,%ecx
449578:	2b c1                	sub    %ecx,%eax
44957a:	8b 8d 00 f2 ff ff    	mov    -0xe00(%ebp),%ecx
449580:	0f af c6             	imul   %esi,%eax
449583:	99                   	cltd
449584:	f7 bd 24 f2 ff ff    	idivl  -0xddc(%ebp)
44958a:	02 85 1b f2 ff ff    	add    -0xde5(%ebp),%al
449590:	88 41 fe             	mov    %al,-0x2(%ecx)
449593:	8a 49 fd             	mov    -0x3(%ecx),%cl
449596:	0f b6 85 c2 f1 ff ff 	movzbl -0xe3e(%ebp),%eax
44959d:	88 8d 1b f2 ff ff    	mov    %cl,-0xde5(%ebp)
4495a3:	0f b6 c9             	movzbl %cl,%ecx
4495a6:	2b c1                	sub    %ecx,%eax
4495a8:	8b 8d 00 f2 ff ff    	mov    -0xe00(%ebp),%ecx
4495ae:	0f af c6             	imul   %esi,%eax
4495b1:	99                   	cltd
4495b2:	f7 bd 24 f2 ff ff    	idivl  -0xddc(%ebp)
4495b8:	02 85 1b f2 ff ff    	add    -0xde5(%ebp),%al
4495be:	88 41 fd             	mov    %al,-0x3(%ecx)
4495c1:	8a 01                	mov    (%ecx),%al
4495c3:	88 85 1b f2 ff ff    	mov    %al,-0xde5(%ebp)
4495c9:	0f b6 c8             	movzbl %al,%ecx
4495cc:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
4495d2:	2b c1                	sub    %ecx,%eax
4495d4:	0f af c6             	imul   %esi,%eax
4495d7:	8b b5 00 f2 ff ff    	mov    -0xe00(%ebp),%esi
4495dd:	99                   	cltd
4495de:	f7 bd 24 f2 ff ff    	idivl  -0xddc(%ebp)
4495e4:	02 85 1b f2 ff ff    	add    -0xde5(%ebp),%al
4495ea:	88 06                	mov    %al,(%esi)
4495ec:	83 c6 04             	add    $0x4,%esi
4495ef:	83 c7 04             	add    $0x4,%edi
4495f2:	83 ad 08 f2 ff ff 01 	subl   $0x1,-0xdf8(%ebp)
4495f9:	89 b5 00 f2 ff ff    	mov    %esi,-0xe00(%ebp)
4495ff:	0f 85 02 ff ff ff    	jne    0x449507
449605:	8b 8d c8 f1 ff ff    	mov    -0xe38(%ebp),%ecx
44960b:	8b 85 e8 f1 ff ff    	mov    -0xe18(%ebp),%eax
449611:	03 8d fc f1 ff ff    	add    -0xe04(%ebp),%ecx
449617:	03 85 d0 f1 ff ff    	add    -0xe30(%ebp),%eax
44961d:	83 ad b4 f1 ff ff 01 	subl   $0x1,-0xe4c(%ebp)
449624:	89 8d c8 f1 ff ff    	mov    %ecx,-0xe38(%ebp)
44962a:	89 85 e8 f1 ff ff    	mov    %eax,-0xe18(%ebp)
449630:	0f 85 b1 fe ff ff    	jne    0x4494e7
449636:	8b bd 98 f1 ff ff    	mov    -0xe68(%ebp),%edi
44963c:	ff b5 8c f1 ff ff    	push   -0xe74(%ebp)
449642:	8b 35 6c 00 4a 00    	mov    0x4a006c,%esi
449648:	8b ce                	mov    %esi,%ecx
44964a:	ff 15 2c 81 4a 00    	call   *0x4a812c
449650:	ff d6                	call   *%esi
449652:	8b 85 88 f1 ff ff    	mov    -0xe78(%ebp),%eax
449658:	85 c0                	test   %eax,%eax
44965a:	74 17                	je     0x449673
44965c:	8b 35 8c 00 4a 00    	mov    0x4a008c,%esi
449662:	8b ce                	mov    %esi,%ecx
449664:	50                   	push   %eax
449665:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
44966b:	ff 15 2c 81 4a 00    	call   *0x4a812c
449671:	ff d6                	call   *%esi
449673:	ff b5 0c f2 ff ff    	push   -0xdf4(%ebp)
449679:	8b 35 68 00 4a 00    	mov    0x4a0068,%esi
44967f:	8b ce                	mov    %esi,%ecx
449681:	ff 15 2c 81 4a 00    	call   *0x4a812c
449687:	ff d6                	call   *%esi
449689:	85 ff                	test   %edi,%edi
44968b:	0f 88 7b 15 00 00    	js     0x44ac0c
449691:	8b 85 24 f5 ff ff    	mov    -0xadc(%ebp),%eax
449697:	8b b5 2c f5 ff ff    	mov    -0xad4(%ebp),%esi
44969d:	89 85 04 f2 ff ff    	mov    %eax,-0xdfc(%ebp)
4496a3:	8b 85 38 f5 ff ff    	mov    -0xac8(%ebp),%eax
4496a9:	89 85 fc f1 ff ff    	mov    %eax,-0xe04(%ebp)
4496af:	33 c0                	xor    %eax,%eax
4496b1:	6a 54                	push   $0x54
4496b3:	50                   	push   %eax
4496b4:	8d 85 24 f4 ff ff    	lea    -0xbdc(%ebp),%eax
4496ba:	89 b5 d0 f1 ff ff    	mov    %esi,-0xe30(%ebp)
4496c0:	50                   	push   %eax
4496c1:	e8 73 79 04 00       	call   0x491039
4496c6:	33 c0                	xor    %eax,%eax
4496c8:	6a 54                	push   $0x54
4496ca:	50                   	push   %eax
4496cb:	8d 85 28 f3 ff ff    	lea    -0xcd8(%ebp),%eax
4496d1:	50                   	push   %eax
4496d2:	e8 62 79 04 00       	call   0x491039
4496d7:	33 c0                	xor    %eax,%eax
4496d9:	6a 2c                	push   $0x2c
4496db:	50                   	push   %eax
4496dc:	89 85 e8 f1 ff ff    	mov    %eax,-0xe18(%ebp)
4496e2:	89 85 08 f2 ff ff    	mov    %eax,-0xdf8(%ebp)
4496e8:	89 85 f4 f1 ff ff    	mov    %eax,-0xe0c(%ebp)
4496ee:	89 85 00 f2 ff ff    	mov    %eax,-0xe00(%ebp)
4496f4:	8d 85 4c fb ff ff    	lea    -0x4b4(%ebp),%eax
4496fa:	50                   	push   %eax
4496fb:	e8 39 79 04 00       	call   0x491039
449700:	33 c0                	xor    %eax,%eax
449702:	8d bd 00 fc ff ff    	lea    -0x400(%ebp),%edi
449708:	ab                   	stos   %eax,%es:(%edi)
449709:	83 c4 24             	add    $0x24,%esp
44970c:	ab                   	stos   %eax,%es:(%edi)
44970d:	ab                   	stos   %eax,%es:(%edi)
44970e:	ab                   	stos   %eax,%es:(%edi)
44970f:	85 f6                	test   %esi,%esi
449711:	0f 84 f5 14 00 00    	je     0x44ac0c
449717:	8b bd e0 f1 ff ff    	mov    -0xe20(%ebp),%edi
44971d:	8b 35 78 00 4a 00    	mov    0x4a0078,%esi
449723:	8b ce                	mov    %esi,%ecx
449725:	6a 07                	push   $0x7
449727:	57                   	push   %edi
449728:	ff 15 2c 81 4a 00    	call   *0x4a812c
44972e:	ff d6                	call   *%esi
449730:	85 c0                	test   %eax,%eax
449732:	0f 84 be 05 00 00    	je     0x449cf6
449738:	8b 35 84 00 4a 00    	mov    0x4a0084,%esi
44973e:	8d 8d 24 f4 ff ff    	lea    -0xbdc(%ebp),%ecx
449744:	51                   	push   %ecx
449745:	6a 54                	push   $0x54
449747:	50                   	push   %eax
449748:	8b ce                	mov    %esi,%ecx
44974a:	ff 15 2c 81 4a 00    	call   *0x4a812c
449750:	ff d6                	call   *%esi
449752:	85 c0                	test   %eax,%eax
449754:	74 24                	je     0x44977a
449756:	8b 85 38 f4 ff ff    	mov    -0xbc8(%ebp),%eax
44975c:	89 85 e8 f1 ff ff    	mov    %eax,-0xe18(%ebp)
449762:	8b 85 28 f4 ff ff    	mov    -0xbd8(%ebp),%eax
449768:	89 85 f4 f1 ff ff    	mov    %eax,-0xe0c(%ebp)
44976e:	8b 85 2c f4 ff ff    	mov    -0xbd4(%ebp),%eax
449774:	89 85 00 f2 ff ff    	mov    %eax,-0xe00(%ebp)
44977a:	8b 35 58 00 4a 00    	mov    0x4a0058,%esi
449780:	8b ce                	mov    %esi,%ecx
449782:	57                   	push   %edi
449783:	ff 15 2c 81 4a 00    	call   *0x4a812c
449789:	ff d6                	call   *%esi
44978b:	8b d0                	mov    %eax,%edx
44978d:	89 95 0c f2 ff ff    	mov    %edx,-0xdf4(%ebp)
449793:	85 d2                	test   %edx,%edx