54a339:	bb 01 00 00 00       	mov    $0x1,%ebx
54a33e:	53                   	push   %ebx
54a33f:	56                   	push   %esi
54a340:	e8 9b 80 ff ff       	call   0x5423e0
54a345:	83 c4 08             	add    $0x8,%esp
54a348:	85 c0                	test   %eax,%eax
54a34a:	74 46                	je     0x54a392
54a34c:	8b 4e 28             	mov    0x28(%esi),%ecx
54a34f:	85 c9                	test   %ecx,%ecx
54a351:	74 05                	je     0x54a358
54a353:	80 f9 13             	cmp    $0x13,%cl
54a356:	75 1b                	jne    0x54a373
54a358:	89 46 28             	mov    %eax,0x28(%esi)
54a35b:	8b 46 7c             	mov    0x7c(%esi),%eax
54a35e:	85 c0                	test   %eax,%eax
54a360:	74 0a                	je     0x54a36c
54a362:	50                   	push   %eax
54a363:	57                   	push   %edi
54a364:	e8 07 70 fd ff       	call   0x521370
54a369:	83 c4 08             	add    $0x8,%esp
54a36c:	c7 46 7c 00 00 00 00 	movl   $0x0,0x7c(%esi)
54a373:	68 04 02 00 00       	push   $0x204
54a378:	57                   	push   %edi
54a379:	e8 b2 e2 fe ff       	call   0x538630
54a37e:	57                   	push   %edi
54a37f:	e8 cc 41 fd ff       	call   0x51e550
54a384:	c6 47 4f 01          	movb   $0x1,0x4f(%edi)
54a388:	83 c4 0c             	add    $0xc,%esp
54a38b:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
54a392:	f6 86 98 00 00 00 20 	testb  $0x20,0x98(%esi)
54a399:	74 1e                	je     0x54a3b9
54a39b:	83 fb 02             	cmp    $0x2,%ebx
54a39e:	74 0b                	je     0x54a3ab
54a3a0:	8b 46 2c             	mov    0x2c(%esi),%eax
54a3a3:	01 47 68             	add    %eax,0x68(%edi)
54a3a6:	89 47 64             	mov    %eax,0x64(%edi)
54a3a9:	eb 07                	jmp    0x54a3b2
54a3ab:	c7 47 64 00 00 00 00 	movl   $0x0,0x64(%edi)
54a3b2:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
54a3b9:	83 be a0 00 00 00 00 	cmpl   $0x0,0xa0(%esi)
54a3c0:	74 09                	je     0x54a3cb
54a3c2:	56                   	push   %esi
54a3c3:	e8 78 09 01 00       	call   0x55ad40
54a3c8:	83 c4 04             	add    $0x4,%esp
54a3cb:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
54a3cf:	7c 2a                	jl     0x54a3fb
54a3d1:	ff 8f b0 00 00 00    	decl   0xb0(%edi)
54a3d7:	f7 86 98 00 00 00 00 	testl  $0x100,0x98(%esi)
54a3de:	01 00 00
54a3e1:	75 06                	jne    0x54a3e9
54a3e3:	ff 8f b8 00 00 00    	decl   0xb8(%edi)
54a3e9:	f7 86 98 00 00 00 00 	testl  $0x200,0x98(%esi)
54a3f0:	02 00 00
54a3f3:	74 06                	je     0x54a3fb
54a3f5:	ff 8f b4 00 00 00    	decl   0xb4(%edi)
54a3fb:	c7 46 14 73 29 9c 31 	movl   $0x319c2973,0x14(%esi)
54a402:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
54a406:	74 07                	je     0x54a40f
54a408:	c7 46 28 07 00 00 00 	movl   $0x7,0x28(%esi)
54a40f:	b9 05 00 00 00       	mov    $0x5,%ecx
54a414:	33 c0                	xor    %eax,%eax
54a416:	39 4e 28             	cmp    %ecx,0x28(%esi)
54a419:	5b                   	pop    %ebx
54a41a:	5f                   	pop    %edi
54a41b:	0f 44 c1             	cmove  %ecx,%eax
54a41e:	5e                   	pop    %esi
54a41f:	5d                   	pop    %ebp
54a420:	c3                   	ret
54a421:	cc                   	int3
54a422:	cc                   	int3
54a423:	cc                   	int3
54a424:	cc                   	int3
54a425:	cc                   	int3
54a426:	cc                   	int3
54a427:	cc                   	int3
54a428:	cc                   	int3
54a429:	cc                   	int3
54a42a:	cc                   	int3
54a42b:	cc                   	int3
54a42c:	cc                   	int3
54a42d:	cc                   	int3
54a42e:	cc                   	int3
54a42f:	cc                   	int3
54a430:	55                   	push   %ebp
54a431:	8b ec                	mov    %esp,%ebp
54a433:	83 ec 2c             	sub    $0x2c,%esp
54a436:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54a43b:	33 c5                	xor    %ebp,%eax
54a43d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54a440:	8b 45 0c             	mov    0xc(%ebp),%eax
54a443:	53                   	push   %ebx
54a444:	8b 5d 10             	mov    0x10(%ebp),%ebx
54a447:	56                   	push   %esi
54a448:	8b 75 14             	mov    0x14(%ebp),%esi
54a44b:	57                   	push   %edi
54a44c:	8b 78 28             	mov    0x28(%eax),%edi
54a44f:	57                   	push   %edi
54a450:	e8 5b b7 fb ff       	call   0x505bb0
54a455:	8b 57 2c             	mov    0x2c(%edi),%edx
54a458:	33 c0                	xor    %eax,%eax
54a45a:	83 c4 04             	add    $0x4,%esp
54a45d:	8b ca                	mov    %edx,%ecx
54a45f:	83 c1 ff             	add    $0xffffffff,%ecx
54a462:	83 d0 ff             	adc    $0xffffffff,%eax
54a465:	85 c0                	test   %eax,%eax
54a467:	77 71                	ja     0x54a4da
54a469:	72 08                	jb     0x54a473
54a46b:	81 f9 fe ff ff 7f    	cmp    $0x7ffffffe,%ecx
54a471:	77 67                	ja     0x54a4da
54a473:	33 c0                	xor    %eax,%eax
54a475:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
54a47c:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54a480:	8b 45 08             	mov    0x8(%ebp),%eax
54a483:	89 45 f4             	mov    %eax,-0xc(%ebp)
54a486:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a489:	50                   	push   %eax
54a48a:	52                   	push   %edx
54a48b:	6a 00                	push   $0x0
54a48d:	57                   	push   %edi
54a48e:	e8 ed 0f 00 00       	call   0x54b480
54a493:	83 c4 10             	add    $0x10,%esp
54a496:	85 c0                	test   %eax,%eax
54a498:	75 69                	jne    0x54a503
54a49a:	50                   	push   %eax
54a49b:	53                   	push   %ebx
54a49c:	ff 75 e4             	push   -0x1c(%ebp)
54a49f:	ff 75 e0             	push   -0x20(%ebp)
54a4a2:	e8 99 20 00 00       	call   0x54c540
54a4a7:	83 c4 10             	add    $0x10,%esp
54a4aa:	89 06                	mov    %eax,(%esi)
54a4ac:	f7 45 dc 00 24 00 00 	testl  $0x2400,-0x24(%ebp)
54a4b3:	75 06                	jne    0x54a4bb
54a4b5:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
54a4b9:	74 0c                	je     0x54a4c7
54a4bb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a4be:	50                   	push   %eax
54a4bf:	e8 4c 09 01 00       	call   0x55ae10
54a4c4:	83 c4 04             	add    $0x4,%esp
54a4c7:	5f                   	pop    %edi
54a4c8:	5e                   	pop    %esi
54a4c9:	33 c0                	xor    %eax,%eax
54a4cb:	5b                   	pop    %ebx
54a4cc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a4cf:	33 cd                	xor    %ebp,%ecx
54a4d1:	e8 04 70 09 00       	call   0x5e14da
54a4d6:	8b e5                	mov    %ebp,%esp
54a4d8:	5d                   	pop    %ebp
54a4d9:	c3                   	ret
54a4da:	68 fc c4 6b 00       	push   $0x6bc4fc
54a4df:	68 57 41 01 00       	push   $0x14157
54a4e4:	68 94 c4 6b 00       	push   $0x6bc494
54a4e9:	68 78 c4 6b 00       	push   $0x6bc478
54a4ee:	6a 0b                	push   $0xb
54a4f0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
54a4f6:	e8 e5 5a f9 ff       	call   0x4dffe0
54a4fb:	83 c4 14             	add    $0x14,%esp
54a4fe:	b8 0b 00 00 00       	mov    $0xb,%eax
54a503:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a506:	5f                   	pop    %edi
54a507:	5e                   	pop    %esi
54a508:	33 cd                	xor    %ebp,%ecx
54a50a:	5b                   	pop    %ebx
54a50b:	e8 ca 6f 09 00       	call   0x5e14da
54a510:	8b e5                	mov    %ebp,%esp
54a512:	5d                   	pop    %ebp
54a513:	c3                   	ret
54a514:	cc                   	int3
54a515:	cc                   	int3
54a516:	cc                   	int3
54a517:	cc                   	int3
54a518:	cc                   	int3
54a519:	cc                   	int3
54a51a:	cc                   	int3
54a51b:	cc                   	int3
54a51c:	cc                   	int3
54a51d:	cc                   	int3
54a51e:	cc                   	int3
54a51f:	cc                   	int3
54a520:	55                   	push   %ebp
54a521:	8b ec                	mov    %esp,%ebp
54a523:	83 ec 5c             	sub    $0x5c,%esp
54a526:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54a52b:	33 c5                	xor    %ebp,%eax
54a52d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54a530:	8b 45 10             	mov    0x10(%ebp),%eax
54a533:	53                   	push   %ebx
54a534:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54a537:	56                   	push   %esi
54a538:	57                   	push   %edi
54a539:	53                   	push   %ebx
54a53a:	89 45 cc             	mov    %eax,-0x34(%ebp)
54a53d:	e8 6e b6 fb ff       	call   0x505bb0
54a542:	8b 7b 28             	mov    0x28(%ebx),%edi
54a545:	33 c0                	xor    %eax,%eax
54a547:	0f b7 4b 30          	movzwl 0x30(%ebx),%ecx
54a54b:	83 c4 04             	add    $0x4,%esp
54a54e:	8b 73 2c             	mov    0x2c(%ebx),%esi
54a551:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54a555:	8b 45 08             	mov    0x8(%ebp),%eax
54a558:	89 45 f4             	mov    %eax,-0xc(%ebp)
54a55b:	8b 43 74             	mov    0x74(%ebx),%eax
54a55e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
54a565:	8b 40 3c             	mov    0x3c(%eax),%eax
54a568:	2b c7                	sub    %edi,%eax
54a56a:	3b c8                	cmp    %eax,%ecx
54a56c:	7e 09                	jle    0x54a577
54a56e:	33 d2                	xor    %edx,%edx
54a570:	8b c8                	mov    %eax,%ecx
54a572:	85 c0                	test   %eax,%eax
54a574:	0f 48 ca             	cmovs  %edx,%ecx
54a577:	3b f1                	cmp    %ecx,%esi
54a579:	77 11                	ja     0x54a58c
54a57b:	b8 10 10 00 00       	mov    $0x1010,%eax
54a580:	89 7d e4             	mov    %edi,-0x1c(%ebp)
54a583:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54a587:	89 75 e0             	mov    %esi,-0x20(%ebp)
54a58a:	eb 1e                	jmp    0x54a5aa
54a58c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a58f:	50                   	push   %eax
54a590:	56                   	push   %esi
54a591:	6a 00                	push   $0x0
54a593:	53                   	push   %ebx
54a594:	e8 f7 08 01 00       	call   0x55ae90
54a599:	83 c4 10             	add    $0x10,%esp
54a59c:	85 c0                	test   %eax,%eax
54a59e:	0f 85 e0 00 00 00    	jne    0x54a684
54a5a4:	8b 7d e4             	mov    -0x1c(%ebp),%edi
54a5a7:	8b 75 e0             	mov    -0x20(%ebp),%esi
54a5aa:	8a 07                	mov    (%edi),%al
54a5ac:	3c 80                	cmp    $0x80,%al
54a5ae:	73 05                	jae    0x54a5b5
54a5b0:	0f b6 d8             	movzbl %al,%ebx
54a5b3:	eb 10                	jmp    0x54a5c5
54a5b5:	8d 45 d0             	lea    -0x30(%ebp),%eax
54a5b8:	50                   	push   %eax
54a5b9:	57                   	push   %edi
54a5ba:	e8 81 32 fe ff       	call   0x52d840
54a5bf:	8b 5d d0             	mov    -0x30(%ebp),%ebx
54a5c2:	83 c4 08             	add    $0x8,%esp
54a5c5:	83 fb 03             	cmp    $0x3,%ebx
54a5c8:	72 7c                	jb     0x54a646
54a5ca:	3b de                	cmp    %esi,%ebx
54a5cc:	77 78                	ja     0x54a646
54a5ce:	8d 47 ff             	lea    -0x1(%edi),%eax
54a5d1:	03 c3                	add    %ebx,%eax
54a5d3:	8a 08                	mov    (%eax),%cl
54a5d5:	80 f9 80             	cmp    $0x80,%cl
54a5d8:	73 05                	jae    0x54a5df
54a5da:	0f b6 c9             	movzbl %cl,%ecx
54a5dd:	eb 10                	jmp    0x54a5ef
54a5df:	8d 4d d0             	lea    -0x30(%ebp),%ecx
54a5e2:	51                   	push   %ecx
54a5e3:	50                   	push   %eax
54a5e4:	e8 57 32 fe ff       	call   0x52d840
54a5e9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
54a5ec:	83 c4 08             	add    $0x8,%esp
54a5ef:	8d 41 ff             	lea    -0x1(%ecx),%eax
54a5f2:	83 f8 08             	cmp    $0x8,%eax
54a5f5:	77 4f                	ja     0x54a646
54a5f7:	83 f9 07             	cmp    $0x7,%ecx
54a5fa:	74 4a                	je     0x54a646
54a5fc:	0f b6 91 d8 2f 6b 00 	movzbl 0x6b2fd8(%ecx),%edx
54a603:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
54a606:	3b f0                	cmp    %eax,%esi
54a608:	72 3c                	jb     0x54a646
54a60a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
54a60d:	2b f2                	sub    %edx,%esi
54a60f:	50                   	push   %eax
54a610:	51                   	push   %ecx
54a611:	03 f7                	add    %edi,%esi
54a613:	56                   	push   %esi
54a614:	e8 f7 26 00 00       	call   0x54cd10
54a619:	8b 4d cc             	mov    -0x34(%ebp),%ecx
54a61c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
54a61f:	89 01                	mov    %eax,(%ecx)
54a621:	8b 45 a8             	mov    -0x58(%ebp),%eax
54a624:	89 41 04             	mov    %eax,0x4(%ecx)
54a627:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a62a:	50                   	push   %eax
54a62b:	e8 40 13 00 00       	call   0x54b970
54a630:	83 c4 10             	add    $0x10,%esp
54a633:	33 c0                	xor    %eax,%eax
54a635:	5f                   	pop    %edi
54a636:	5e                   	pop    %esi
54a637:	5b                   	pop    %ebx
54a638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a63b:	33 cd                	xor    %ebp,%ecx
54a63d:	e8 98 6e 09 00       	call   0x5e14da
54a642:	8b e5                	mov    %ebp,%esp
54a644:	5d                   	pop    %ebp
54a645:	c3                   	ret
54a646:	f7 45 dc 00 24 00 00 	testl  $0x2400,-0x24(%ebp)
54a64d:	75 06                	jne    0x54a655
54a64f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
54a653:	74 0c                	je     0x54a661
54a655:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a658:	50                   	push   %eax
54a659:	e8 b2 07 01 00       	call   0x55ae10
54a65e:	83 c4 04             	add    $0x4,%esp
54a661:	68 fc c4 6b 00       	push   $0x6bc4fc
54a666:	68 36 41 01 00       	push   $0x14136
54a66b:	68 94 c4 6b 00       	push   $0x6bc494
54a670:	68 78 c4 6b 00       	push   $0x6bc478
54a675:	6a 0b                	push   $0xb
54a677:	e8 64 59 f9 ff       	call   0x4dffe0
54a67c:	83 c4 14             	add    $0x14,%esp
54a67f:	b8 0b 00 00 00       	mov    $0xb,%eax
54a684:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a687:	5f                   	pop    %edi
54a688:	5e                   	pop    %esi
54a689:	33 cd                	xor    %ebp,%ecx
54a68b:	5b                   	pop    %ebx
54a68c:	e8 49 6e 09 00       	call   0x5e14da
54a691:	8b e5                	mov    %ebp,%esp
54a693:	5d                   	pop    %ebp
54a694:	c3                   	ret
54a695:	cc                   	int3
54a696:	cc                   	int3
54a697:	cc                   	int3
54a698:	cc                   	int3
54a699:	cc                   	int3
54a69a:	cc                   	int3
54a69b:	cc                   	int3
54a69c:	cc                   	int3
54a69d:	cc                   	int3
54a69e:	cc                   	int3
54a69f:	cc                   	int3
54a6a0:	55                   	push   %ebp
54a6a1:	8b ec                	mov    %esp,%ebp
54a6a3:	8b 4d 08             	mov    0x8(%ebp),%ecx
54a6a6:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
54a6aa:	a8 24                	test   $0x24,%al
54a6ac:	74 07                	je     0x54a6b5
54a6ae:	8b 01                	mov    (%ecx),%eax
54a6b0:	8b 51 04             	mov    0x4(%ecx),%edx
54a6b3:	5d                   	pop    %ebp
54a6b4:	c3                   	ret
54a6b5:	a8 08                	test   $0x8,%al
54a6b7:	74 16                	je     0x54a6cf
54a6b9:	f2 0f 10 01          	movsd  (%ecx),%xmm0
54a6bd:	83 ec 08             	sub    $0x8,%esp
54a6c0:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54a6c5:	e8 b6 3d fb ff       	call   0x4fe480
54a6ca:	83 c4 08             	add    $0x8,%esp
54a6cd:	5d                   	pop    %ebp
54a6ce:	c3                   	ret
54a6cf:	a8 12                	test   $0x12,%al
54a6d1:	74 0f                	je     0x54a6e2
54a6d3:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
54a6d7:	74 09                	je     0x54a6e2