49b2fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
49b300:	8a 01                	mov    (%ecx),%al
49b302:	41                   	inc    %ecx
49b303:	84 c0                	test   %al,%al
49b305:	75 f9                	jne    0x49b300
49b307:	8b 03                	mov    (%ebx),%eax
49b309:	2b ca                	sub    %edx,%ecx
49b30b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
49b30e:	8b 40 04             	mov    0x4(%eax),%eax
49b311:	8b 7c 18 24          	mov    0x24(%eax,%ebx,1),%edi
49b315:	8b 74 18 20          	mov    0x20(%eax,%ebx,1),%esi
49b319:	85 ff                	test   %edi,%edi
49b31b:	7c 17                	jl     0x49b334
49b31d:	7f 0e                	jg     0x49b32d
49b31f:	85 f6                	test   %esi,%esi
49b321:	74 11                	je     0x49b334
49b323:	85 ff                	test   %edi,%edi
49b325:	7c 0d                	jl     0x49b334
49b327:	7f 04                	jg     0x49b32d
49b329:	3b f1                	cmp    %ecx,%esi
49b32b:	76 07                	jbe    0x49b334
49b32d:	2b f1                	sub    %ecx,%esi
49b32f:	83 df 00             	sbb    $0x0,%edi
49b332:	eb 0e                	jmp    0x49b342
49b334:	0f 57 c0             	xorps  %xmm0,%xmm0
49b337:	66 0f 13 45 d8       	movlpd %xmm0,-0x28(%ebp)
49b33c:	8b 7d dc             	mov    -0x24(%ebp),%edi
49b33f:	8b 75 d8             	mov    -0x28(%ebp),%esi
49b342:	53                   	push   %ebx
49b343:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49b346:	e8 75 2b fb ff       	call   0x44dec0
49b34b:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
49b34f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49b356:	75 0a                	jne    0x49b362
49b358:	b9 04 00 00 00       	mov    $0x4,%ecx
49b35d:	e9 41 01 00 00       	jmp    0x49b4a3
49b362:	8b 0b                	mov    (%ebx),%ecx
49b364:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
49b368:	8b 41 04             	mov    0x4(%ecx),%eax
49b36b:	8b 44 18 14          	mov    0x14(%eax,%ebx,1),%eax
49b36f:	25 c0 01 00 00       	and    $0x1c0,%eax
49b374:	83 f8 40             	cmp    $0x40,%eax
49b377:	74 6a                	je     0x49b3e3
49b379:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
49b380:	85 ff                	test   %edi,%edi
49b382:	7c 5d                	jl     0x49b3e1
49b384:	7f 04                	jg     0x49b38a
49b386:	85 f6                	test   %esi,%esi
49b388:	74 57                	je     0x49b3e1
49b38a:	8b 03                	mov    (%ebx),%eax
49b38c:	8b 40 04             	mov    0x4(%eax),%eax
49b38f:	8a 4c 18 40          	mov    0x40(%eax,%ebx,1),%cl
49b393:	88 4d ef             	mov    %cl,-0x11(%ebp)
49b396:	8b 4c 18 38          	mov    0x38(%eax,%ebx,1),%ecx
49b39a:	8b 41 20             	mov    0x20(%ecx),%eax
49b39d:	83 38 00             	cmpl   $0x0,(%eax)
49b3a0:	74 20                	je     0x49b3c2
49b3a2:	8b 51 30             	mov    0x30(%ecx),%edx
49b3a5:	8b 02                	mov    (%edx),%eax
49b3a7:	85 c0                	test   %eax,%eax
49b3a9:	7e 17                	jle    0x49b3c2
49b3ab:	48                   	dec    %eax
49b3ac:	89 02                	mov    %eax,(%edx)
49b3ae:	8b 49 20             	mov    0x20(%ecx),%ecx
49b3b1:	8b 11                	mov    (%ecx),%edx
49b3b3:	8d 42 01             	lea    0x1(%edx),%eax
49b3b6:	89 01                	mov    %eax,(%ecx)
49b3b8:	8a 45 ef             	mov    -0x11(%ebp),%al
49b3bb:	88 02                	mov    %al,(%edx)
49b3bd:	0f b6 c0             	movzbl %al,%eax
49b3c0:	eb 0a                	jmp    0x49b3cc
49b3c2:	0f b6 45 ef          	movzbl -0x11(%ebp),%eax
49b3c6:	8b 11                	mov    (%ecx),%edx
49b3c8:	50                   	push   %eax
49b3c9:	ff 52 0c             	call   *0xc(%edx)
49b3cc:	83 f8 ff             	cmp    $0xffffffff,%eax
49b3cf:	75 08                	jne    0x49b3d9
49b3d1:	8d 48 05             	lea    0x5(%eax),%ecx
49b3d4:	e9 8d 00 00 00       	jmp    0x49b466
49b3d9:	83 c6 ff             	add    $0xffffffff,%esi
49b3dc:	83 d7 ff             	adc    $0xffffffff,%edi
49b3df:	eb 9f                	jmp    0x49b380
49b3e1:	8b 0b                	mov    (%ebx),%ecx
49b3e3:	8b 41 04             	mov    0x4(%ecx),%eax
49b3e6:	6a 00                	push   $0x0
49b3e8:	ff 75 e8             	push   -0x18(%ebp)
49b3eb:	8b 4c 18 38          	mov    0x38(%eax,%ebx,1),%ecx
49b3ef:	ff 75 0c             	push   0xc(%ebp)
49b3f2:	8b 01                	mov    (%ecx),%eax
49b3f4:	8b 40 24             	mov    0x24(%eax),%eax
49b3f7:	ff d0                	call   *%eax
49b3f9:	3b 45 e8             	cmp    -0x18(%ebp),%eax
49b3fc:	75 57                	jne    0x49b455
49b3fe:	85 d2                	test   %edx,%edx
49b400:	75 53                	jne    0x49b455
49b402:	85 ff                	test   %edi,%edi
49b404:	7c 5e                	jl     0x49b464
49b406:	7f 04                	jg     0x49b40c
49b408:	85 f6                	test   %esi,%esi
49b40a:	74 58                	je     0x49b464
49b40c:	8b 03                	mov    (%ebx),%eax
49b40e:	8b 40 04             	mov    0x4(%eax),%eax
49b411:	8b 4c 18 38          	mov    0x38(%eax,%ebx,1),%ecx
49b415:	8a 54 18 40          	mov    0x40(%eax,%ebx,1),%dl
49b419:	88 55 ef             	mov    %dl,-0x11(%ebp)
49b41c:	8b 41 20             	mov    0x20(%ecx),%eax
49b41f:	83 38 00             	cmpl   $0x0,(%eax)
49b422:	74 23                	je     0x49b447
49b424:	8b 41 30             	mov    0x30(%ecx),%eax
49b427:	8b 00                	mov    (%eax),%eax
49b429:	85 c0                	test   %eax,%eax
49b42b:	7e 1a                	jle    0x49b447
49b42d:	8b 51 30             	mov    0x30(%ecx),%edx
49b430:	48                   	dec    %eax
49b431:	89 02                	mov    %eax,(%edx)
49b433:	8b 49 20             	mov    0x20(%ecx),%ecx
49b436:	8b 11                	mov    (%ecx),%edx
49b438:	8d 42 01             	lea    0x1(%edx),%eax
49b43b:	89 01                	mov    %eax,(%ecx)
49b43d:	8a 45 ef             	mov    -0x11(%ebp),%al
49b440:	88 02                	mov    %al,(%edx)
49b442:	0f b6 c0             	movzbl %al,%eax
49b445:	eb 09                	jmp    0x49b450
49b447:	0f b6 c2             	movzbl %dl,%eax
49b44a:	8b 11                	mov    (%ecx),%edx
49b44c:	50                   	push   %eax
49b44d:	ff 52 0c             	call   *0xc(%edx)
49b450:	83 f8 ff             	cmp    $0xffffffff,%eax
49b453:	75 07                	jne    0x49b45c
49b455:	b9 04 00 00 00       	mov    $0x4,%ecx
49b45a:	eb 0a                	jmp    0x49b466
49b45c:	83 c6 ff             	add    $0xffffffff,%esi
49b45f:	83 d7 ff             	adc    $0xffffffff,%edi
49b462:	eb 9e                	jmp    0x49b402
49b464:	33 c9                	xor    %ecx,%ecx
49b466:	8b 03                	mov    (%ebx),%eax
49b468:	8b 40 04             	mov    0x4(%eax),%eax
49b46b:	c7 44 18 20 00 00 00 	movl   $0x0,0x20(%eax,%ebx,1)
49b472:	00
49b473:	c7 44 18 24 00 00 00 	movl   $0x0,0x24(%eax,%ebx,1)
49b47a:	00
49b47b:	eb 1f                	jmp    0x49b49c
49b47d:	8b 55 08             	mov    0x8(%ebp),%edx
49b480:	6a 01                	push   $0x1
49b482:	6a 04                	push   $0x4
49b484:	8b 02                	mov    (%edx),%eax
49b486:	8b 48 04             	mov    0x4(%eax),%ecx
49b489:	03 ca                	add    %edx,%ecx
49b48b:	e8 00 65 fb ff       	call   0x451990
49b490:	b8 96 b4 49 00       	mov    $0x49b496,%eax
49b495:	c3                   	ret
49b496:	8b 5d 08             	mov    0x8(%ebp),%ebx
49b499:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
49b49c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49b4a3:	8b 03                	mov    (%ebx),%eax
49b4a5:	33 f6                	xor    %esi,%esi
49b4a7:	8b 50 04             	mov    0x4(%eax),%edx
49b4aa:	8b 44 1a 0c          	mov    0xc(%edx,%ebx,1),%eax
49b4ae:	03 d3                	add    %ebx,%edx
49b4b0:	0b c1                	or     %ecx,%eax
49b4b2:	b9 04 00 00 00       	mov    $0x4,%ecx
49b4b7:	39 72 38             	cmp    %esi,0x38(%edx)
49b4ba:	0f 45 ce             	cmovne %esi,%ecx
49b4bd:	0b c8                	or     %eax,%ecx
49b4bf:	8b 42 10             	mov    0x10(%edx),%eax
49b4c2:	83 e1 17             	and    $0x17,%ecx
49b4c5:	89 4a 0c             	mov    %ecx,0xc(%edx)
49b4c8:	23 c1                	and    %ecx,%eax
49b4ca:	75 45                	jne    0x49b511
49b4cc:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
49b4d3:	e8 96 2f 13 00       	call   0x5ce46e
49b4d8:	84 c0                	test   %al,%al
49b4da:	75 08                	jne    0x49b4e4
49b4dc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49b4df:	e8 1c 50 fb ff       	call   0x450500
49b4e4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
49b4e7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
49b4eb:	8b 01                	mov    (%ecx),%eax
49b4ed:	8b 40 04             	mov    0x4(%eax),%eax
49b4f0:	8b 4c 08 38          	mov    0x38(%eax,%ecx,1),%ecx
49b4f4:	85 c9                	test   %ecx,%ecx
49b4f6:	74 05                	je     0x49b4fd
49b4f8:	8b 11                	mov    (%ecx),%edx
49b4fa:	ff 52 08             	call   *0x8(%edx)
49b4fd:	8b c3                	mov    %ebx,%eax
49b4ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49b502:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49b509:	59                   	pop    %ecx
49b50a:	5f                   	pop    %edi
49b50b:	5e                   	pop    %esi
49b50c:	5b                   	pop    %ebx
49b50d:	8b e5                	mov    %ebp,%esp
49b50f:	5d                   	pop    %ebp
49b510:	c3                   	ret
49b511:	a8 04                	test   $0x4,%al
49b513:	74 07                	je     0x49b51c
49b515:	be 34 c4 68 00       	mov    $0x68c434,%esi
49b51a:	eb 0f                	jmp    0x49b52b
49b51c:	a8 02                	test   $0x2,%al
49b51e:	be 4c c4 68 00       	mov    $0x68c44c,%esi
49b523:	b8 64 c4 68 00       	mov    $0x68c464,%eax
49b528:	0f 44 f0             	cmove  %eax,%esi
49b52b:	8d 45 e0             	lea    -0x20(%ebp),%eax
49b52e:	6a 01                	push   $0x1
49b530:	50                   	push   %eax
49b531:	e8 9a ea f9 ff       	call   0x439fd0
49b536:	83 c4 08             	add    $0x8,%esp
49b539:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
49b53c:	50                   	push   %eax
49b53d:	56                   	push   %esi
49b53e:	e8 ad ef f9 ff       	call   0x43a4f0
49b543:	68 0c 60 70 00       	push   $0x70600c
49b548:	8d 45 c4             	lea    -0x3c(%ebp),%eax
49b54b:	50                   	push   %eax
49b54c:	e8 e1 74 14 00       	call   0x5e2a32
49b551:	cc                   	int3
49b552:	cc                   	int3
49b553:	cc                   	int3
49b554:	cc                   	int3
49b555:	cc                   	int3
49b556:	cc                   	int3
49b557:	cc                   	int3
49b558:	cc                   	int3
49b559:	cc                   	int3
49b55a:	cc                   	int3
49b55b:	cc                   	int3
49b55c:	cc                   	int3
49b55d:	cc                   	int3
49b55e:	cc                   	int3
49b55f:	cc                   	int3
49b560:	55                   	push   %ebp
49b561:	8b ec                	mov    %esp,%ebp
49b563:	56                   	push   %esi
49b564:	8b 75 08             	mov    0x8(%ebp),%esi
49b567:	57                   	push   %edi
49b568:	8b 7d 0c             	mov    0xc(%ebp),%edi
49b56b:	3b f7                	cmp    %edi,%esi
49b56d:	74 4d                	je     0x49b5bc
49b56f:	83 c6 18             	add    $0x18,%esi
49b572:	8b 0e                	mov    (%esi),%ecx
49b574:	83 f9 10             	cmp    $0x10,%ecx
49b577:	72 28                	jb     0x49b5a1
49b579:	8b 46 ec             	mov    -0x14(%esi),%eax
49b57c:	41                   	inc    %ecx
49b57d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49b583:	72 12                	jb     0x49b597
49b585:	8b 50 fc             	mov    -0x4(%eax),%edx
49b588:	83 c1 23             	add    $0x23,%ecx
49b58b:	2b c2                	sub    %edx,%eax
49b58d:	83 c0 fc             	add    $0xfffffffc,%eax
49b590:	83 f8 1f             	cmp    $0x1f,%eax
49b593:	77 2b                	ja     0x49b5c0
49b595:	8b c2                	mov    %edx,%eax
49b597:	51                   	push   %ecx
49b598:	50                   	push   %eax
49b599:	e8 d4 5a 14 00       	call   0x5e1072
49b59e:	83 c4 08             	add    $0x8,%esp
49b5a1:	c7 46 fc 00 00 00 00 	movl   $0x0,-0x4(%esi)
49b5a8:	c7 06 0f 00 00 00    	movl   $0xf,(%esi)
49b5ae:	c6 46 ec 00          	movb   $0x0,-0x14(%esi)
49b5b2:	83 c6 1c             	add    $0x1c,%esi
49b5b5:	8d 46 e8             	lea    -0x18(%esi),%eax
49b5b8:	3b c7                	cmp    %edi,%eax
49b5ba:	75 b6                	jne    0x49b572
49b5bc:	5f                   	pop    %edi
49b5bd:	5e                   	pop    %esi
49b5be:	5d                   	pop    %ebp
49b5bf:	c3                   	ret
49b5c0:	e8 6a 19 15 00       	call   0x5ecf2f
49b5c5:	cc                   	int3
49b5c6:	cc                   	int3
49b5c7:	cc                   	int3
49b5c8:	cc                   	int3
49b5c9:	cc                   	int3
49b5ca:	cc                   	int3
49b5cb:	cc                   	int3
49b5cc:	cc                   	int3
49b5cd:	cc                   	int3
49b5ce:	cc                   	int3
49b5cf:	cc                   	int3
49b5d0:	55                   	push   %ebp
49b5d1:	8b ec                	mov    %esp,%ebp
49b5d3:	56                   	push   %esi
49b5d4:	8b 75 08             	mov    0x8(%ebp),%esi
49b5d7:	57                   	push   %edi
49b5d8:	8b 7d 0c             	mov    0xc(%ebp),%edi
49b5db:	3b f7                	cmp    %edi,%esi
49b5dd:	0f 84 93 00 00 00    	je     0x49b676
49b5e3:	83 c6 2c             	add    $0x2c,%esi
49b5e6:	8b 0e                	mov    (%esi),%ecx
49b5e8:	83 f9 10             	cmp    $0x10,%ecx
49b5eb:	72 28                	jb     0x49b615
49b5ed:	8b 46 ec             	mov    -0x14(%esi),%eax
49b5f0:	41                   	inc    %ecx
49b5f1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49b5f7:	72 12                	jb     0x49b60b
49b5f9:	8b 50 fc             	mov    -0x4(%eax),%edx
49b5fc:	83 c1 23             	add    $0x23,%ecx
49b5ff:	2b c2                	sub    %edx,%eax
49b601:	83 c0 fc             	add    $0xfffffffc,%eax
49b604:	83 f8 1f             	cmp    $0x1f,%eax
49b607:	77 71                	ja     0x49b67a
49b609:	8b c2                	mov    %edx,%eax
49b60b:	51                   	push   %ecx
49b60c:	50                   	push   %eax
49b60d:	e8 60 5a 14 00       	call   0x5e1072
49b612:	83 c4 08             	add    $0x8,%esp
49b615:	c7 46 fc 00 00 00 00 	movl   $0x0,-0x4(%esi)
49b61c:	c7 06 0f 00 00 00    	movl   $0xf,(%esi)
49b622:	c6 46 ec 00          	movb   $0x0,-0x14(%esi)
49b626:	8b 4e e8             	mov    -0x18(%esi),%ecx
49b629:	83 f9 10             	cmp    $0x10,%ecx
49b62c:	72 28                	jb     0x49b656
49b62e:	8b 46 d4             	mov    -0x2c(%esi),%eax
49b631:	41                   	inc    %ecx
49b632:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49b638:	72 12                	jb     0x49b64c
49b63a:	8b 50 fc             	mov    -0x4(%eax),%edx
49b63d:	83 c1 23             	add    $0x23,%ecx
49b640:	2b c2                	sub    %edx,%eax
49b642:	83 c0 fc             	add    $0xfffffffc,%eax
49b645:	83 f8 1f             	cmp    $0x1f,%eax
49b648:	77 30                	ja     0x49b67a
49b64a:	8b c2                	mov    %edx,%eax
49b64c:	51                   	push   %ecx
49b64d:	50                   	push   %eax
49b64e:	e8 1f 5a 14 00       	call   0x5e1072
49b653:	83 c4 08             	add    $0x8,%esp
49b656:	c7 46 e4 00 00 00 00 	movl   $0x0,-0x1c(%esi)
49b65d:	c7 46 e8 0f 00 00 00 	movl   $0xf,-0x18(%esi)
49b664:	c6 46 d4 00          	movb   $0x0,-0x2c(%esi)
49b668:	83 c6 30             	add    $0x30,%esi
49b66b:	8d 46 d4             	lea    -0x2c(%esi),%eax
49b66e:	3b c7                	cmp    %edi,%eax
49b670:	0f 85 70 ff ff ff    	jne    0x49b5e6
49b676:	5f                   	pop    %edi
49b677:	5e                   	pop    %esi
49b678:	5d                   	pop    %ebp
49b679:	c3                   	ret
49b67a:	e8 b0 18 15 00       	call   0x5ecf2f
49b67f:	cc                   	int3
49b680:	55                   	push   %ebp
49b681:	8b ec                	mov    %esp,%ebp
49b683:	6a ff                	push   $0xffffffff
49b685:	68 c0 83 65 00       	push   $0x6583c0
49b68a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
49b690:	50                   	push   %eax
49b691:	83 ec 1c             	sub    $0x1c,%esp
49b694:	53                   	push   %ebx
49b695:	56                   	push   %esi