55e388:	8b 54 24 3c          	mov    0x3c(%esp),%edx
55e38c:	52                   	push   %edx
55e38d:	68 43 e0 69 00       	push   $0x69e043
55e392:	68 80 2e 6a 00       	push   $0x6a2e80
55e397:	e8 30 bd 01 00       	call   0x57a0cc
55e39c:	83 c4 14             	add    $0x14,%esp
55e39f:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55e3a3:	8b 54 24 70          	mov    0x70(%esp),%edx
55e3a7:	8b 41 2c             	mov    0x2c(%ecx),%eax
55e3aa:	8b 4a 28             	mov    0x28(%edx),%ecx
55e3ad:	8b d1                	mov    %ecx,%edx
55e3af:	c1 e1 07             	shl    $0x7,%ecx
55e3b2:	03 ca                	add    %edx,%ecx
55e3b4:	c1 e1 02             	shl    $0x2,%ecx
55e3b7:	03 c1                	add    %ecx,%eax
55e3b9:	89 44 24 48          	mov    %eax,0x48(%esp)
55e3bd:	8b 44 24 70          	mov    0x70(%esp),%eax
55e3c1:	8b 48 2c             	mov    0x2c(%eax),%ecx
55e3c4:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e3c8:	8b 44 24 44          	mov    0x44(%esp),%eax
55e3cc:	8b 54 24 48          	mov    0x48(%esp),%edx
55e3d0:	3b c2                	cmp    %edx,%eax
55e3d2:	0f 84 7f 01 00 00    	je     0x55e557
55e3d8:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e3dc:	8b 54 24 44          	mov    0x44(%esp),%edx
55e3e0:	8b 41 04             	mov    0x4(%ecx),%eax
55e3e3:	0f b7 0a             	movzwl (%edx),%ecx
55e3e6:	8b d1                	mov    %ecx,%edx
55e3e8:	c1 e2 02             	shl    $0x2,%edx
55e3eb:	8d 14 52             	lea    (%edx,%edx,2),%edx
55e3ee:	8d 14 92             	lea    (%edx,%edx,4),%edx
55e3f1:	03 c2                	add    %edx,%eax
55e3f3:	89 44 24 50          	mov    %eax,0x50(%esp)
55e3f7:	8b 44 24 44          	mov    0x44(%esp),%eax
55e3fb:	8b 48 04             	mov    0x4(%eax),%ecx
55e3fe:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
55e402:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e406:	8b 54 24 50          	mov    0x50(%esp),%edx
55e40a:	3b c2                	cmp    %edx,%eax
55e40c:	0f 84 2d 01 00 00    	je     0x55e53f
55e412:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e416:	8b 41 34             	mov    0x34(%ecx),%eax
55e419:	85 c0                	test   %eax,%eax
55e41b:	0f 84 09 01 00 00    	je     0x55e52a
55e421:	8b d0                	mov    %eax,%edx
55e423:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e427:	8b 49 30             	mov    0x30(%ecx),%ecx
55e42a:	c1 e1 02             	shl    $0x2,%ecx
55e42d:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e430:	03 d1                	add    %ecx,%edx
55e432:	89 54 24 58          	mov    %edx,0x58(%esp)
55e436:	89 44 24 54          	mov    %eax,0x54(%esp)
55e43a:	8b 44 24 54          	mov    0x54(%esp),%eax
55e43e:	8b 54 24 58          	mov    0x58(%esp),%edx
55e442:	3b c2                	cmp    %edx,%eax
55e444:	0f 84 e0 00 00 00    	je     0x55e52a
55e44a:	8b 44 24 54          	mov    0x54(%esp),%eax
55e44e:	8b 50 04             	mov    0x4(%eax),%edx
55e451:	85 d2                	test   %edx,%edx
55e453:	0f 84 bc 00 00 00    	je     0x55e515
55e459:	33 c9                	xor    %ecx,%ecx
55e45b:	89 4c 24 74          	mov    %ecx,0x74(%esp)
55e45f:	8b 44 24 54          	mov    0x54(%esp),%eax
55e463:	8b 38                	mov    (%eax),%edi
55e465:	e9 98 00 00 00       	jmp    0x55e502
55e46a:	8b 47 1c             	mov    0x1c(%edi),%eax
55e46d:	85 c0                	test   %eax,%eax
55e46f:	0f 84 86 00 00 00    	je     0x55e4fb
55e475:	8b d0                	mov    %eax,%edx
55e477:	8b 4f 18             	mov    0x18(%edi),%ecx
55e47a:	c1 e1 02             	shl    $0x2,%ecx
55e47d:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55e480:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55e483:	03 d1                	add    %ecx,%edx
55e485:	89 54 24 5c          	mov    %edx,0x5c(%esp)
55e489:	8b d8                	mov    %eax,%ebx
55e48b:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e48f:	3b d8                	cmp    %eax,%ebx
55e491:	74 68                	je     0x55e4fb
55e493:	8b 43 28             	mov    0x28(%ebx),%eax
55e496:	85 c0                	test   %eax,%eax
55e498:	74 56                	je     0x55e4f0
55e49a:	8b 0b                	mov    (%ebx),%ecx
55e49c:	8b 53 04             	mov    0x4(%ebx),%edx
55e49f:	c1 e1 03             	shl    $0x3,%ecx
55e4a2:	8b e8                	mov    %eax,%ebp
55e4a4:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e4a7:	03 ca                	add    %edx,%ecx
55e4a9:	8b 54 24 34          	mov    0x34(%esp),%edx
55e4ad:	85 d2                	test   %edx,%edx
55e4af:	74 1c                	je     0x55e4cd
55e4b1:	8b d0                	mov    %eax,%edx
55e4b3:	3b ca                	cmp    %edx,%ecx
55e4b5:	74 16                	je     0x55e4cd
55e4b7:	dd 42 28             	fldl   0x28(%edx)
55e4ba:	dc 5c 24 2c          	fcompl 0x2c(%esp)
55e4be:	df e0                	fnstsw %ax
55e4c0:	9e                   	sahf
55e4c1:	72 03                	jb     0x55e4c6
55e4c3:	8d 6a 48             	lea    0x48(%edx),%ebp
55e4c6:	83 c2 48             	add    $0x48,%edx
55e4c9:	3b ca                	cmp    %edx,%ecx
55e4cb:	75 ea                	jne    0x55e4b7
55e4cd:	8b 53 28             	mov    0x28(%ebx),%edx
55e4d0:	3b ea                	cmp    %edx,%ebp
55e4d2:	74 0a                	je     0x55e4de
55e4d4:	89 72 20             	mov    %esi,0x20(%edx)
55e4d7:	83 c2 48             	add    $0x48,%edx
55e4da:	3b ea                	cmp    %edx,%ebp
55e4dc:	75 f6                	jne    0x55e4d4
55e4de:	3b ca                	cmp    %edx,%ecx
55e4e0:	74 0e                	je     0x55e4f0
55e4e2:	c7 42 20 ff ff ff ff 	movl   $0xffffffff,0x20(%edx)
55e4e9:	83 c2 48             	add    $0x48,%edx
55e4ec:	3b ca                	cmp    %edx,%ecx
55e4ee:	75 f2                	jne    0x55e4e2
55e4f0:	83 c3 3c             	add    $0x3c,%ebx
55e4f3:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e4f7:	3b d8                	cmp    %eax,%ebx
55e4f9:	75 98                	jne    0x55e493
55e4fb:	ff 44 24 74          	incl   0x74(%esp)
55e4ff:	83 c7 34             	add    $0x34,%edi
55e502:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e506:	8b 41 20             	mov    0x20(%ecx),%eax
55e509:	8b 54 24 74          	mov    0x74(%esp),%edx
55e50d:	3b c2                	cmp    %edx,%eax
55e50f:	0f 87 55 ff ff ff    	ja     0x55e46a
55e515:	83 44 24 54 24       	addl   $0x24,0x54(%esp)
55e51a:	8b 4c 24 54          	mov    0x54(%esp),%ecx
55e51e:	8b 44 24 58          	mov    0x58(%esp),%eax
55e522:	3b c8                	cmp    %eax,%ecx
55e524:	0f 85 20 ff ff ff    	jne    0x55e44a
55e52a:	83 44 24 4c 3c       	addl   $0x3c,0x4c(%esp)
55e52f:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e533:	8b 4c 24 50          	mov    0x50(%esp),%ecx
55e537:	3b d1                	cmp    %ecx,%edx
55e539:	0f 85 d3 fe ff ff    	jne    0x55e412
55e53f:	81 44 24 44 04 02 00 	addl   $0x204,0x44(%esp)
55e546:	00
55e547:	8b 44 24 44          	mov    0x44(%esp),%eax
55e54b:	8b 54 24 48          	mov    0x48(%esp),%edx
55e54f:	3b c2                	cmp    %edx,%eax
55e551:	0f 85 81 fe ff ff    	jne    0x55e3d8
55e557:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55e55b:	8b 54 24 70          	mov    0x70(%esp),%edx
55e55f:	8b 41 2c             	mov    0x2c(%ecx),%eax
55e562:	8b 4a 28             	mov    0x28(%edx),%ecx
55e565:	8b d1                	mov    %ecx,%edx
55e567:	c1 e1 07             	shl    $0x7,%ecx
55e56a:	03 ca                	add    %edx,%ecx
55e56c:	c1 e1 02             	shl    $0x2,%ecx
55e56f:	03 c1                	add    %ecx,%eax
55e571:	89 44 24 48          	mov    %eax,0x48(%esp)
55e575:	8b 44 24 70          	mov    0x70(%esp),%eax
55e579:	8b 48 2c             	mov    0x2c(%eax),%ecx
55e57c:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e580:	8b 44 24 44          	mov    0x44(%esp),%eax
55e584:	8b 54 24 48          	mov    0x48(%esp),%edx
55e588:	3b c2                	cmp    %edx,%eax
55e58a:	0f 84 d7 00 00 00    	je     0x55e667
55e590:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e594:	8b 54 24 44          	mov    0x44(%esp),%edx
55e598:	8b 41 04             	mov    0x4(%ecx),%eax
55e59b:	0f b7 0a             	movzwl (%edx),%ecx
55e59e:	8b d1                	mov    %ecx,%edx
55e5a0:	c1 e2 02             	shl    $0x2,%edx
55e5a3:	8d 14 52             	lea    (%edx,%edx,2),%edx
55e5a6:	8d 14 92             	lea    (%edx,%edx,4),%edx
55e5a9:	03 c2                	add    %edx,%eax
55e5ab:	89 44 24 50          	mov    %eax,0x50(%esp)
55e5af:	8b 44 24 44          	mov    0x44(%esp),%eax
55e5b3:	8b 48 04             	mov    0x4(%eax),%ecx
55e5b6:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
55e5ba:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e5be:	8b 54 24 50          	mov    0x50(%esp),%edx
55e5c2:	3b c2                	cmp    %edx,%eax
55e5c4:	0f 84 85 00 00 00    	je     0x55e64f
55e5ca:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e5ce:	8b 41 34             	mov    0x34(%ecx),%eax
55e5d1:	85 c0                	test   %eax,%eax
55e5d3:	74 65                	je     0x55e63a
55e5d5:	33 d2                	xor    %edx,%edx
55e5d7:	89 54 24 74          	mov    %edx,0x74(%esp)
55e5db:	eb 4e                	jmp    0x55e62b
55e5dd:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e5e1:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e5e5:	8b 51 04             	mov    0x4(%ecx),%edx
55e5e8:	2b c2                	sub    %edx,%eax
55e5ea:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55e5ef:	99                   	cltd
55e5f0:	f7 f9                	idiv   %ecx
55e5f2:	50                   	push   %eax
55e5f3:	8b 44 24 78          	mov    0x78(%esp),%eax
55e5f7:	50                   	push   %eax
55e5f8:	56                   	push   %esi
55e5f9:	8b 44 24 7c          	mov    0x7c(%esp),%eax
55e5fd:	ff 70 2c             	push   0x2c(%eax)
55e600:	8b 44 24 54          	mov    0x54(%esp),%eax
55e604:	5a                   	pop    %edx
55e605:	2b c2                	sub    %edx,%eax
55e607:	b9 04 02 00 00       	mov    $0x204,%ecx
55e60c:	99                   	cltd
55e60d:	f7 f9                	idiv   %ecx
55e60f:	8b c8                	mov    %eax,%ecx
55e611:	8b 54 24 28          	mov    0x28(%esp),%edx
55e615:	8b 44 24 0c          	mov    0xc(%esp),%eax
55e619:	e8 12 b4 00 00       	call   0x569a30
55e61e:	85 c0                	test   %eax,%eax
55e620:	74 05                	je     0x55e627
55e622:	83 c8 ff             	or     $0xffffffff,%eax
55e625:	eb 6f                	jmp    0x55e696
55e627:	ff 44 24 74          	incl   0x74(%esp)
55e62b:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e62f:	8b 4a 20             	mov    0x20(%edx),%ecx
55e632:	8b 44 24 74          	mov    0x74(%esp),%eax
55e636:	3b c8                	cmp    %eax,%ecx
55e638:	77 a3                	ja     0x55e5dd
55e63a:	83 44 24 4c 3c       	addl   $0x3c,0x4c(%esp)
55e63f:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e643:	8b 4c 24 50          	mov    0x50(%esp),%ecx
55e647:	3b d1                	cmp    %ecx,%edx
55e649:	0f 85 7b ff ff ff    	jne    0x55e5ca
55e64f:	81 44 24 44 04 02 00 	addl   $0x204,0x44(%esp)
55e656:	00
55e657:	8b 44 24 44          	mov    0x44(%esp),%eax
55e65b:	8b 54 24 48          	mov    0x48(%esp),%edx
55e65f:	3b c2                	cmp    %edx,%eax
55e661:	0f 85 29 ff ff ff    	jne    0x55e590
55e667:	83 44 24 78 04       	addl   $0x4,0x78(%esp)
55e66c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55e670:	46                   	inc    %esi
55e671:	3b f1                	cmp    %ecx,%esi
55e673:	0f 8c 5e f8 ff ff    	jl     0x55ded7
55e679:	e8 ce b8 01 00       	call   0x579f4c
55e67e:	83 f8 05             	cmp    $0x5,%eax
55e681:	7c 08                	jl     0x55e68b
55e683:	8b 04 24             	mov    (%esp),%eax
55e686:	e8 09 f4 ff ff       	call   0x55da94
55e68b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e68f:	e8 a8 a0 01 00       	call   0x57873c
55e694:	33 c0                	xor    %eax,%eax
55e696:	83 c4 7c             	add    $0x7c,%esp
55e699:	5d                   	pop    %ebp
55e69a:	5f                   	pop    %edi
55e69b:	5e                   	pop    %esi
55e69c:	5b                   	pop    %ebx
55e69d:	c3                   	ret
55e6a6:	00 3f                	add    %bh,(%edi)
55e6a8:	fc                   	cld
55e6a9:	a9 f1 d2 4d 62       	test   $0x624dd2f1,%eax
55e6ae:	50                   	push   %eax
55e6af:	3f                   	aas
55e6b0:	53                   	push   %ebx
55e6b1:	56                   	push   %esi
55e6b2:	57                   	push   %edi
55e6b3:	55                   	push   %ebp
55e6b4:	51                   	push   %ecx
55e6b5:	8b f9                	mov    %ecx,%edi
55e6b7:	89 14 24             	mov    %edx,(%esp)
55e6ba:	8b d8                	mov    %eax,%ebx
55e6bc:	b8 34 00 00 00       	mov    $0x34,%eax
55e6c1:	e8 b6 9c 01 00       	call   0x57837c
55e6c6:	8b f0                	mov    %eax,%esi
55e6c8:	85 c0                	test   %eax,%eax
55e6ca:	0f 84 90 02 00 00    	je     0x55e960
55e6d0:	33 d2                	xor    %edx,%edx
55e6d2:	33 c9                	xor    %ecx,%ecx
55e6d4:	89 56 2c             	mov    %edx,0x2c(%esi)
55e6d7:	89 4e 24             	mov    %ecx,0x24(%esi)
55e6da:	0f b7 43 30          	movzwl 0x30(%ebx),%eax
55e6de:	89 46 28             	mov    %eax,0x28(%esi)
55e6e1:	33 d2                	xor    %edx,%edx
55e6e3:	8b ef                	mov    %edi,%ebp
55e6e5:	89 56 1c             	mov    %edx,0x1c(%esi)
55e6e8:	89 2e                	mov    %ebp,(%esi)
55e6ea:	33 d2                	xor    %edx,%edx
55e6ec:	8b c5                	mov    %ebp,%eax
55e6ee:	8b 7b 14             	mov    0x14(%ebx),%edi
55e6f1:	f7 73 24             	divl   0x24(%ebx)
55e6f4:	8b ca                	mov    %edx,%ecx
55e6f6:	33 d2                	xor    %edx,%edx
55e6f8:	8b c5                	mov    %ebp,%eax
55e6fa:	f7 73 24             	divl   0x24(%ebx)
55e6fd:	8b d1                	mov    %ecx,%edx
55e6ff:	0f af 53 1c          	imul   0x1c(%ebx),%edx
55e703:	03 d7                	add    %edi,%edx
55e705:	8b 7b 04             	mov    0x4(%ebx),%edi
55e708:	3b d7                	cmp    %edi,%edx
55e70a:	76 0d                	jbe    0x55e719
55e70c:	8b d1                	mov    %ecx,%edx
55e70e:	8b 7b 14             	mov    0x14(%ebx),%edi
55e711:	0f af 53 1c          	imul   0x1c(%ebx),%edx
55e715:	03 d7                	add    %edi,%edx
55e717:	eb 03                	jmp    0x55e71c
55e719:	8b 53 04             	mov    0x4(%ebx),%edx
55e71c:	89 56 04             	mov    %edx,0x4(%esi)
55e71f:	8b d0                	mov    %eax,%edx
55e721:	0f af 53 20          	imul   0x20(%ebx),%edx
55e725:	8b 7b 18             	mov    0x18(%ebx),%edi
55e728:	03 d7                	add    %edi,%edx
55e72a:	8b 7b 08             	mov    0x8(%ebx),%edi
55e72d:	3b d7                	cmp    %edi,%edx
55e72f:	76 0d                	jbe    0x55e73e
55e731:	8b d0                	mov    %eax,%edx
55e733:	8b 7b 18             	mov    0x18(%ebx),%edi
55e736:	0f af 53 20          	imul   0x20(%ebx),%edx
55e73a:	03 d7                	add    %edi,%edx
55e73c:	eb 03                	jmp    0x55e741
55e73e:	8b 53 08             	mov    0x8(%ebx),%edx
55e741:	89 56 08             	mov    %edx,0x8(%esi)
55e744:	8d 51 01             	lea    0x1(%ecx),%edx
55e747:	0f af 53 1c          	imul   0x1c(%ebx),%edx
55e74b:	8b 7b 14             	mov    0x14(%ebx),%edi
55e74e:	03 d7                	add    %edi,%edx
55e750:	8b 7b 0c             	mov    0xc(%ebx),%edi
55e753:	3b d7                	cmp    %edi,%edx
55e755:	73 0c                	jae    0x55e763
55e757:	41                   	inc    %ecx
55e758:	8b 53 14             	mov    0x14(%ebx),%edx
55e75b:	0f af 4b 1c          	imul   0x1c(%ebx),%ecx
55e75f:	03 ca                	add    %edx,%ecx
55e761:	eb 03                	jmp    0x55e766
55e763:	8b 4b 0c             	mov    0xc(%ebx),%ecx
55e766:	89 4e 0c             	mov    %ecx,0xc(%esi)
55e769:	8d 50 01             	lea    0x1(%eax),%edx
55e76c:	0f af 53 20          	imul   0x20(%ebx),%edx
55e770:	8b 4b 18             	mov    0x18(%ebx),%ecx
55e773:	03 d1                	add    %ecx,%edx
55e775:	8b 4b 10             	mov    0x10(%ebx),%ecx
55e778:	3b d1                	cmp    %ecx,%edx
55e77a:	73 0b                	jae    0x55e787
55e77c:	40                   	inc    %eax
55e77d:	f7 6b 20             	imull  0x20(%ebx)
55e780:	8b 53 18             	mov    0x18(%ebx),%edx
55e783:	03 c2                	add    %edx,%eax
55e785:	eb 03                	jmp    0x55e78a
55e787:	8b 43 10             	mov    0x10(%ebx),%eax
55e78a:	89 46 10             	mov    %eax,0x10(%esi)
55e78d:	8b 53 38             	mov    0x38(%ebx),%edx
55e790:	89 56 20             	mov    %edx,0x20(%esi)
55e793:	8a 4b 3c             	mov    0x3c(%ebx),%cl
55e796:	88 4e 14             	mov    %cl,0x14(%esi)
55e799:	8a 43 3d             	mov    0x3d(%ebx),%al
55e79c:	88 46 15             	mov    %al,0x15(%esi)
55e79f:	8a 53 3e             	mov    0x3e(%ebx),%dl
55e7a2:	88 56 18             	mov    %dl,0x18(%esi)
55e7a5:	66 8b 7b 40          	mov    0x40(%ebx),%di
55e7a9:	66 89 7e 16          	mov    %di,0x16(%esi)
55e7ad:	0f b7 c7             	movzwl %di,%eax
55e7b0:	c1 e0 02             	shl    $0x2,%eax