4193c3:	89 44 24 0c          	mov    %eax,0xc(%esp)
4193c7:	68 20 00 cc 00       	push   $0xcc0020
4193cc:	8b c5                	mov    %ebp,%eax
4193ce:	e8 f5 fe ff ff       	call   0x4192c8
4193d3:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
4193d9:	50                   	push   %eax
4193da:	8b c5                	mov    %ebp,%eax
4193dc:	e8 e7 fe ff ff       	call   0x4192c8
4193e1:	8b 80 68 04 00 00    	mov    0x468(%eax),%eax
4193e7:	50                   	push   %eax
4193e8:	8b 44 24 54          	mov    0x54(%esp),%eax
4193ec:	50                   	push   %eax
4193ed:	8b 44 24 54          	mov    0x54(%esp),%eax
4193f1:	50                   	push   %eax
4193f2:	8b 44 24 14          	mov    0x14(%esp),%eax
4193f6:	50                   	push   %eax
4193f7:	8b c5                	mov    %ebp,%eax
4193f9:	e8 ca fe ff ff       	call   0x4192c8
4193fe:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
419404:	50                   	push   %eax
419405:	8b c5                	mov    %ebp,%eax
419407:	e8 bc fe ff ff       	call   0x4192c8
41940c:	8b 80 68 04 00 00    	mov    0x468(%eax),%eax
419412:	50                   	push   %eax
419413:	6a 00                	push   $0x0
419415:	6a 00                	push   $0x0
419417:	8b 44 24 2c          	mov    0x2c(%esp),%eax
41941b:	50                   	push   %eax
41941c:	e8 8f b5 fe ff       	call   0x4049b0
419421:	8b c5                	mov    %ebp,%eax
419423:	e8 a0 fe ff ff       	call   0x4192c8
419428:	8b 80 68 04 00 00    	mov    0x468(%eax),%eax
41942e:	89 44 24 30          	mov    %eax,0x30(%esp)
419432:	8b c5                	mov    %ebp,%eax
419434:	e8 3f fe ff ff       	call   0x419278
419439:	0f b7 54 24 62       	movzwl 0x62(%esp),%edx
41943e:	f7 ea                	imul   %edx
419440:	83 c0 1f             	add    $0x1f,%eax
419443:	83 e0 e0             	and    $0xffffffe0,%eax
419446:	85 c0                	test   %eax,%eax
419448:	79 03                	jns    0x41944d
41944a:	83 c0 07             	add    $0x7,%eax
41944d:	c1 f8 03             	sar    $0x3,%eax
419450:	89 44 24 28          	mov    %eax,0x28(%esp)
419454:	8b c5                	mov    %ebp,%eax
419456:	e8 6d fe ff ff       	call   0x4192c8
41945b:	0f b7 58 3f          	movzwl 0x3f(%eax),%ebx
41945f:	8b c5                	mov    %ebp,%eax
419461:	e8 62 fe ff ff       	call   0x4192c8
419466:	0f af 98 68 04 00 00 	imul   0x468(%eax),%ebx
41946d:	83 c3 1f             	add    $0x1f,%ebx
419470:	83 e3 e0             	and    $0xffffffe0,%ebx
419473:	85 db                	test   %ebx,%ebx
419475:	79 03                	jns    0x41947a
419477:	83 c3 07             	add    $0x7,%ebx
41947a:	c1 fb 03             	sar    $0x3,%ebx
41947d:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
419481:	8b 44 24 08          	mov    0x8(%esp),%eax
419485:	89 44 24 3c          	mov    %eax,0x3c(%esp)
419489:	8b c5                	mov    %ebp,%eax
41948b:	e8 38 fe ff ff       	call   0x4192c8
419490:	8b 80 64 04 00 00    	mov    0x464(%eax),%eax
419496:	89 44 24 38          	mov    %eax,0x38(%esp)
41949a:	8b c5                	mov    %ebp,%eax
41949c:	e8 27 fe ff ff       	call   0x4192c8
4194a1:	8b 98 5c 04 00 00    	mov    0x45c(%eax),%ebx
4194a7:	8b c5                	mov    %ebp,%eax
4194a9:	e8 1a fe ff ff       	call   0x4192c8
4194ae:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
4194b4:	48                   	dec    %eax
4194b5:	0f af d8             	imul   %eax,%ebx
4194b8:	8b c5                	mov    %ebp,%eax
4194ba:	e8 09 fe ff ff       	call   0x4192c8
4194bf:	03 98 60 04 00 00    	add    0x460(%eax),%ebx
4194c5:	89 5c 24 34          	mov    %ebx,0x34(%esp)
4194c9:	8b c5                	mov    %ebp,%eax
4194cb:	e8 f8 fd ff ff       	call   0x4192c8
4194d0:	66 8b 40 3f          	mov    0x3f(%eax),%ax
4194d4:	66 ff c8             	dec    %ax
4194d7:	0f 84 39 01 00 00    	je     0x419616
4194dd:	66 83 e8 03          	sub    $0x3,%ax
4194e1:	0f 84 2f 01 00 00    	je     0x419616
4194e7:	66 83 e8 04          	sub    $0x4,%ax
4194eb:	0f 84 25 01 00 00    	je     0x419616
4194f1:	66 83 e8 10          	sub    $0x10,%ax
4194f5:	0f 85 0c 04 00 00    	jne    0x419907
4194fb:	8b c5                	mov    %ebp,%eax
4194fd:	e8 c6 fd ff ff       	call   0x4192c8
419502:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
419508:	85 c0                	test   %eax,%eax
41950a:	0f 8e f7 03 00 00    	jle    0x419907
419510:	89 44 24 40          	mov    %eax,0x40(%esp)
419514:	8b c5                	mov    %ebp,%eax
419516:	e8 ad fd ff ff       	call   0x4192c8
41951b:	8b 98 68 04 00 00    	mov    0x468(%eax),%ebx
419521:	4b                   	dec    %ebx
419522:	85 db                	test   %ebx,%ebx
419524:	0f 8c c5 00 00 00    	jl     0x4195ef
41952a:	43                   	inc    %ebx
41952b:	33 f6                	xor    %esi,%esi
41952d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
419531:	8d 04 b0             	lea    (%eax,%esi,4),%eax
419534:	8d 14 76             	lea    (%esi,%esi,2),%edx
419537:	83 c2 02             	add    $0x2,%edx
41953a:	8b 4c 24 34          	mov    0x34(%esp),%ecx
41953e:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
419542:	8b 4c 24 38          	mov    0x38(%esp),%ecx
419546:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
41954a:	0f af d1             	imul   %ecx,%edx
41954d:	81 c2 ff 00 00 00    	add    $0xff,%edx
419553:	8b 4c 24 38          	mov    0x38(%esp),%ecx
419557:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
41955b:	bf ff 00 00 00       	mov    $0xff,%edi
419560:	2b f9                	sub    %ecx,%edi
419562:	33 c9                	xor    %ecx,%ecx
419564:	8a 48 02             	mov    0x2(%eax),%cl
419567:	0f af f9             	imul   %ecx,%edi
41956a:	03 d7                	add    %edi,%edx
41956c:	c1 ea 08             	shr    $0x8,%edx
41956f:	88 50 02             	mov    %dl,0x2(%eax)
419572:	8d 14 76             	lea    (%esi,%esi,2),%edx
419575:	42                   	inc    %edx
419576:	8b 4c 24 34          	mov    0x34(%esp),%ecx
41957a:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
41957e:	8b 4c 24 38          	mov    0x38(%esp),%ecx
419582:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
419586:	0f af d1             	imul   %ecx,%edx
419589:	81 c2 ff 00 00 00    	add    $0xff,%edx
41958f:	8b 4c 24 38          	mov    0x38(%esp),%ecx
419593:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
419597:	bf ff 00 00 00       	mov    $0xff,%edi
41959c:	2b f9                	sub    %ecx,%edi
41959e:	33 c9                	xor    %ecx,%ecx
4195a0:	8a 48 01             	mov    0x1(%eax),%cl
4195a3:	0f af f9             	imul   %ecx,%edi
4195a6:	03 d7                	add    %edi,%edx
4195a8:	c1 ea 08             	shr    $0x8,%edx
4195ab:	88 50 01             	mov    %dl,0x1(%eax)
4195ae:	8d 14 76             	lea    (%esi,%esi,2),%edx
4195b1:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4195b5:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
4195b9:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4195bd:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
4195c1:	0f af d1             	imul   %ecx,%edx
4195c4:	81 c2 ff 00 00 00    	add    $0xff,%edx
4195ca:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4195ce:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
4195d2:	bf ff 00 00 00       	mov    $0xff,%edi
4195d7:	2b f9                	sub    %ecx,%edi
4195d9:	33 c9                	xor    %ecx,%ecx
4195db:	8a 08                	mov    (%eax),%cl
4195dd:	0f af f9             	imul   %ecx,%edi
4195e0:	03 d7                	add    %edi,%edx
4195e2:	c1 ea 08             	shr    $0x8,%edx
4195e5:	88 10                	mov    %dl,(%eax)
4195e7:	46                   	inc    %esi
4195e8:	4b                   	dec    %ebx
4195e9:	0f 85 3e ff ff ff    	jne    0x41952d
4195ef:	8b 44 24 28          	mov    0x28(%esp),%eax
4195f3:	01 44 24 3c          	add    %eax,0x3c(%esp)
4195f7:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4195fb:	29 44 24 34          	sub    %eax,0x34(%esp)
4195ff:	8b 44 24 30          	mov    0x30(%esp),%eax
419603:	01 44 24 38          	add    %eax,0x38(%esp)
419607:	ff 4c 24 40          	decl   0x40(%esp)
41960b:	0f 85 03 ff ff ff    	jne    0x419514
419611:	e9 f1 02 00 00       	jmp    0x419907
419616:	8b c5                	mov    %ebp,%eax
419618:	e8 ab fc ff ff       	call   0x4192c8
41961d:	80 b8 71 04 00 00 04 	cmpb   $0x4,0x471(%eax)
419624:	0f 85 0f 01 00 00    	jne    0x419739
41962a:	8b c5                	mov    %ebp,%eax
41962c:	e8 97 fc ff ff       	call   0x4192c8
419631:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
419637:	85 c0                	test   %eax,%eax
419639:	0f 8e c8 02 00 00    	jle    0x419907
41963f:	89 44 24 40          	mov    %eax,0x40(%esp)
419643:	8b c5                	mov    %ebp,%eax
419645:	e8 7e fc ff ff       	call   0x4192c8
41964a:	8b 98 68 04 00 00    	mov    0x468(%eax),%ebx
419650:	4b                   	dec    %ebx
419651:	85 db                	test   %ebx,%ebx
419653:	0f 8c b9 00 00 00    	jl     0x419712
419659:	43                   	inc    %ebx
41965a:	33 f6                	xor    %esi,%esi
41965c:	8b 44 24 3c          	mov    0x3c(%esp),%eax
419660:	8d 3c b0             	lea    (%eax,%esi,4),%edi
419663:	8b c5                	mov    %ebp,%eax
419665:	e8 5e fc ff ff       	call   0x4192c8
41966a:	8b 44 24 34          	mov    0x34(%esp),%eax
41966e:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
419672:	8b 54 24 38          	mov    0x38(%esp),%edx
419676:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
41967a:	f7 ea                	imul   %edx
41967c:	05 ff 00 00 00       	add    $0xff,%eax
419681:	8b 54 24 38          	mov    0x38(%esp),%edx
419685:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
419689:	b9 ff 00 00 00       	mov    $0xff,%ecx
41968e:	2b ca                	sub    %edx,%ecx
419690:	33 d2                	xor    %edx,%edx
419692:	8a 57 02             	mov    0x2(%edi),%dl
419695:	0f af ca             	imul   %edx,%ecx
419698:	03 c1                	add    %ecx,%eax
41969a:	c1 e8 08             	shr    $0x8,%eax
41969d:	88 47 02             	mov    %al,0x2(%edi)
4196a0:	8b 44 24 34          	mov    0x34(%esp),%eax
4196a4:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
4196a8:	8b 54 24 38          	mov    0x38(%esp),%edx
4196ac:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
4196b0:	f7 ea                	imul   %edx
4196b2:	05 ff 00 00 00       	add    $0xff,%eax
4196b7:	8b 54 24 38          	mov    0x38(%esp),%edx
4196bb:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
4196bf:	b9 ff 00 00 00       	mov    $0xff,%ecx
4196c4:	2b ca                	sub    %edx,%ecx
4196c6:	33 d2                	xor    %edx,%edx
4196c8:	8a 57 01             	mov    0x1(%edi),%dl
4196cb:	0f af ca             	imul   %edx,%ecx
4196ce:	03 c1                	add    %ecx,%eax
4196d0:	c1 e8 08             	shr    $0x8,%eax
4196d3:	88 47 01             	mov    %al,0x1(%edi)
4196d6:	8b 44 24 34          	mov    0x34(%esp),%eax
4196da:	0f b6 04 30          	movzbl (%eax,%esi,1),%eax
4196de:	8b 54 24 38          	mov    0x38(%esp),%edx
4196e2:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
4196e6:	f7 ea                	imul   %edx
4196e8:	05 ff 00 00 00       	add    $0xff,%eax
4196ed:	8b 54 24 38          	mov    0x38(%esp),%edx
4196f1:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
4196f5:	b9 ff 00 00 00       	mov    $0xff,%ecx
4196fa:	2b ca                	sub    %edx,%ecx
4196fc:	33 d2                	xor    %edx,%edx
4196fe:	8a 17                	mov    (%edi),%dl
419700:	0f af ca             	imul   %edx,%ecx
419703:	03 c1                	add    %ecx,%eax
419705:	c1 e8 08             	shr    $0x8,%eax
419708:	88 07                	mov    %al,(%edi)
41970a:	46                   	inc    %esi
41970b:	4b                   	dec    %ebx
41970c:	0f 85 4a ff ff ff    	jne    0x41965c
419712:	8b 44 24 28          	mov    0x28(%esp),%eax
419716:	01 44 24 3c          	add    %eax,0x3c(%esp)
41971a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
41971e:	29 44 24 34          	sub    %eax,0x34(%esp)
419722:	8b 44 24 30          	mov    0x30(%esp),%eax
419726:	01 44 24 38          	add    %eax,0x38(%esp)
41972a:	ff 4c 24 40          	decl   0x40(%esp)
41972e:	0f 85 0f ff ff ff    	jne    0x419643
419734:	e9 ce 01 00 00       	jmp    0x419907
419739:	8b c5                	mov    %ebp,%eax
41973b:	8b 15 90 99 41 00    	mov    0x419990,%edx
419741:	e8 96 07 00 00       	call   0x419edc
419746:	89 44 24 14          	mov    %eax,0x14(%esp)
41974a:	8b c5                	mov    %ebp,%eax
41974c:	8b 15 94 99 41 00    	mov    0x419994,%edx
419752:	e8 85 07 00 00       	call   0x419edc
419757:	89 44 24 18          	mov    %eax,0x18(%esp)
41975b:	8b c5                	mov    %ebp,%eax
41975d:	e8 66 fb ff ff       	call   0x4192c8
419762:	8b 80 6c 04 00 00    	mov    0x46c(%eax),%eax
419768:	85 c0                	test   %eax,%eax
41976a:	0f 8e 97 01 00 00    	jle    0x419907
419770:	89 44 24 40          	mov    %eax,0x40(%esp)
419774:	33 f6                	xor    %esi,%esi
419776:	8b 44 24 34          	mov    0x34(%esp),%eax
41977a:	89 44 24 24          	mov    %eax,0x24(%esp)
41977e:	33 c0                	xor    %eax,%eax
419780:	89 44 24 20          	mov    %eax,0x20(%esp)
419784:	8b c5                	mov    %ebp,%eax
419786:	e8 3d fb ff ff       	call   0x4192c8
41978b:	8a 80 70 04 00 00    	mov    0x470(%eax),%al
419791:	fe c8                	dec    %al
419793:	74 0a                	je     0x41979f
419795:	fe c8                	dec    %al
419797:	74 2c                	je     0x4197c5
419799:	2c 02                	sub    $0x2,%al
41979b:	74 28                	je     0x4197c5
41979d:	eb 51                	jmp    0x4197f0
41979f:	8b c6                	mov    %esi,%eax
4197a1:	25 07 00 00 80       	and    $0x80000007,%eax
4197a6:	79 05                	jns    0x4197ad
4197a8:	48                   	dec    %eax
4197a9:	83 c8 f8             	or     $0xfffffff8,%eax
4197ac:	40                   	inc    %eax
4197ad:	b9 07 00 00 00       	mov    $0x7,%ecx
4197b2:	2b c8                	sub    %eax,%ecx
4197b4:	8b 44 24 24          	mov    0x24(%esp),%eax
4197b8:	0f b6 00             	movzbl (%eax),%eax
4197bb:	d3 e8                	shr    %cl,%eax
4197bd:	24 01                	and    $0x1,%al
4197bf:	88 44 24 1c          	mov    %al,0x1c(%esp)
4197c3:	eb 35                	jmp    0x4197fa
4197c5:	8b c6                	mov    %esi,%eax
4197c7:	25 01 00 00 80       	and    $0x80000001,%eax
4197cc:	79 05                	jns    0x4197d3
4197ce:	48                   	dec    %eax
4197cf:	83 c8 fe             	or     $0xfffffffe,%eax
4197d2:	40                   	inc    %eax
4197d3:	ba 01 00 00 00       	mov    $0x1,%edx
4197d8:	2b d0                	sub    %eax,%edx
4197da:	8b ca                	mov    %edx,%ecx
4197dc:	c1 e1 02             	shl    $0x2,%ecx
4197df:	8b 44 24 24          	mov    0x24(%esp),%eax
4197e3:	0f b6 00             	movzbl (%eax),%eax
4197e6:	d3 e8                	shr    %cl,%eax
4197e8:	24 0f                	and    $0xf,%al
4197ea:	88 44 24 1c          	mov    %al,0x1c(%esp)
4197ee:	eb 0a                	jmp    0x4197fa
4197f0:	8b 44 24 24          	mov    0x24(%esp),%eax
4197f4:	8a 00                	mov    (%eax),%al
4197f6:	88 44 24 1c          	mov    %al,0x1c(%esp)
4197fa:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4197fe:	8d 3c b0             	lea    (%eax,%esi,4),%edi
419801:	33 c0                	xor    %eax,%eax
419803:	8a 44 24 1c          	mov    0x1c(%esp),%al
419807:	8b 54 24 14          	mov    0x14(%esp),%edx
41980b:	8a 5c 02 29          	mov    0x29(%edx,%eax,1),%bl
41980f:	8b 44 24 18          	mov    0x18(%esp),%eax
419813:	8a 54 24 1c          	mov    0x1c(%esp),%dl
419817:	e8 50 f4 ff ff       	call   0x418c6c
41981c:	c1 e8 10             	shr    $0x10,%eax
41981f:	25 ff 00 00 00       	and    $0xff,%eax
419824:	33 d2                	xor    %edx,%edx
419826:	8a d3                	mov    %bl,%dl
419828:	f7 ea                	imul   %edx
41982a:	05 ff 00 00 00       	add    $0xff,%eax
41982f:	33 d2                	xor    %edx,%edx
419831:	8a d3                	mov    %bl,%dl
419833:	b9 ff 00 00 00       	mov    $0xff,%ecx
419838:	2b ca                	sub    %edx,%ecx
41983a:	33 d2                	xor    %edx,%edx
41983c:	8a 57 02             	mov    0x2(%edi),%dl
41983f:	0f af ca             	imul   %edx,%ecx
419842:	03 c1                	add    %ecx,%eax
419844:	c1 e8 08             	shr    $0x8,%eax
419847:	88 47 02             	mov    %al,0x2(%edi)
41984a:	8b 44 24 18          	mov    0x18(%esp),%eax
41984e:	8a 54 24 1c          	mov    0x1c(%esp),%dl
419852:	e8 15 f4 ff ff       	call   0x418c6c
419857:	c1 e8 08             	shr    $0x8,%eax
41985a:	25 ff 00 00 00       	and    $0xff,%eax
41985f:	33 d2                	xor    %edx,%edx
419861:	8a d3                	mov    %bl,%dl
419863:	f7 ea                	imul   %edx
419865:	05 ff 00 00 00       	add    $0xff,%eax
41986a:	33 d2                	xor    %edx,%edx
41986c:	8a d3                	mov    %bl,%dl
41986e:	b9 ff 00 00 00       	mov    $0xff,%ecx
419873:	2b ca                	sub    %edx,%ecx
419875:	33 d2                	xor    %edx,%edx