5dc31f:	88 56 24             	mov    %dl,0x24(%esi)
5dc322:	89 56 28             	mov    %edx,0x28(%esi)
5dc325:	5e                   	pop    %esi
5dc326:	5d                   	pop    %ebp
5dc327:	c2 0c 00             	ret    $0xc
5dc32a:	8b ff                	mov    %edi,%edi
5dc32c:	55                   	push   %ebp
5dc32d:	8b ec                	mov    %esp,%ebp
5dc32f:	56                   	push   %esi
5dc330:	8b 75 08             	mov    0x8(%ebp),%esi
5dc333:	57                   	push   %edi
5dc334:	8b f9                	mov    %ecx,%edi
5dc336:	8b 06                	mov    (%esi),%eax
5dc338:	89 07                	mov    %eax,(%edi)
5dc33a:	8b 46 08             	mov    0x8(%esi),%eax
5dc33d:	8b 56 0c             	mov    0xc(%esi),%edx
5dc340:	89 47 08             	mov    %eax,0x8(%edi)
5dc343:	89 57 0c             	mov    %edx,0xc(%edi)
5dc346:	8b 46 10             	mov    0x10(%esi),%eax
5dc349:	8b 4e 14             	mov    0x14(%esi),%ecx
5dc34c:	89 47 10             	mov    %eax,0x10(%edi)
5dc34f:	89 4f 14             	mov    %ecx,0x14(%edi)
5dc352:	8b 46 18             	mov    0x18(%esi),%eax
5dc355:	89 47 18             	mov    %eax,0x18(%edi)
5dc358:	8b c7                	mov    %edi,%eax
5dc35a:	83 26 00             	andl   $0x0,(%esi)
5dc35d:	83 66 18 00          	andl   $0x0,0x18(%esi)
5dc361:	5f                   	pop    %edi
5dc362:	5e                   	pop    %esi
5dc363:	5d                   	pop    %ebp
5dc364:	c2 04 00             	ret    $0x4
5dc367:	8b ff                	mov    %edi,%edi
5dc369:	55                   	push   %ebp
5dc36a:	8b ec                	mov    %esp,%ebp
5dc36c:	8b 45 08             	mov    0x8(%ebp),%eax
5dc36f:	83 61 10 00          	andl   $0x0,0x10(%ecx)
5dc373:	83 61 14 00          	andl   $0x0,0x14(%ecx)
5dc377:	8b 55 10             	mov    0x10(%ebp),%edx
5dc37a:	89 01                	mov    %eax,(%ecx)
5dc37c:	8b 45 0c             	mov    0xc(%ebp),%eax
5dc37f:	89 41 08             	mov    %eax,0x8(%ecx)
5dc382:	8b 45 14             	mov    0x14(%ebp),%eax
5dc385:	89 51 0c             	mov    %edx,0xc(%ecx)
5dc388:	89 41 18             	mov    %eax,0x18(%ecx)
5dc38b:	85 c0                	test   %eax,%eax
5dc38d:	74 03                	je     0x5dc392
5dc38f:	c6 00 01             	movb   $0x1,(%eax)
5dc392:	8b c1                	mov    %ecx,%eax
5dc394:	5d                   	pop    %ebp
5dc395:	c2 10 00             	ret    $0x10
5dc398:	8b ff                	mov    %edi,%edi
5dc39a:	55                   	push   %ebp
5dc39b:	8b ec                	mov    %esp,%ebp
5dc39d:	8b 55 0c             	mov    0xc(%ebp),%edx
5dc3a0:	8b 45 10             	mov    0x10(%ebp),%eax
5dc3a3:	53                   	push   %ebx
5dc3a4:	56                   	push   %esi
5dc3a5:	8b 75 08             	mov    0x8(%ebp),%esi
5dc3a8:	8b d9                	mov    %ecx,%ebx
5dc3aa:	57                   	push   %edi
5dc3ab:	ff 75 14             	push   0x14(%ebp)
5dc3ae:	89 13                	mov    %edx,(%ebx)
5dc3b0:	8d 7b 08             	lea    0x8(%ebx),%edi
5dc3b3:	89 43 04             	mov    %eax,0x4(%ebx)
5dc3b6:	8d 4b 18             	lea    0x18(%ebx),%ecx
5dc3b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5dc3ba:	50                   	push   %eax
5dc3bb:	52                   	push   %edx
5dc3bc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5dc3bd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5dc3be:	e8 1d ff ff ff       	call   0x5dc2e0
5dc3c3:	8b 45 18             	mov    0x18(%ebp),%eax
5dc3c6:	83 63 70 00          	andl   $0x0,0x70(%ebx)
5dc3ca:	89 43 68             	mov    %eax,0x68(%ebx)
5dc3cd:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc3d0:	5f                   	pop    %edi
5dc3d1:	89 43 6c             	mov    %eax,0x6c(%ebx)
5dc3d4:	8b c3                	mov    %ebx,%eax
5dc3d6:	5e                   	pop    %esi
5dc3d7:	5b                   	pop    %ebx
5dc3d8:	5d                   	pop    %ebp
5dc3d9:	c2 18 00             	ret    $0x18
5dc3dc:	8b ff                	mov    %edi,%edi
5dc3de:	56                   	push   %esi
5dc3df:	8b f1                	mov    %ecx,%esi
5dc3e1:	8b 46 04             	mov    0x4(%esi),%eax
5dc3e4:	8b 0e                	mov    (%esi),%ecx
5dc3e6:	0f b6 00             	movzbl (%eax),%eax
5dc3e9:	50                   	push   %eax
5dc3ea:	e8 7e 33 00 00       	call   0x5df76d
5dc3ef:	8b 46 04             	mov    0x4(%esi),%eax
5dc3f2:	c6 00 00             	movb   $0x0,(%eax)
5dc3f5:	8b 46 08             	mov    0x8(%esi),%eax
5dc3f8:	8b 0e                	mov    (%esi),%ecx
5dc3fa:	ff 70 04             	push   0x4(%eax)
5dc3fd:	ff 30                	push   (%eax)
5dc3ff:	e8 a9 2d 00 00       	call   0x5df1ad
5dc404:	5e                   	pop    %esi
5dc405:	c3                   	ret
5dc406:	8b ff                	mov    %edi,%edi
5dc408:	53                   	push   %ebx
5dc409:	56                   	push   %esi
5dc40a:	8b f1                	mov    %ecx,%esi
5dc40c:	33 db                	xor    %ebx,%ebx
5dc40e:	39 5e 0c             	cmp    %ebx,0xc(%esi)
5dc411:	75 29                	jne    0x5dc43c
5dc413:	8b 46 08             	mov    0x8(%esi),%eax
5dc416:	89 5e 10             	mov    %ebx,0x10(%esi)
5dc419:	66 89 5e 14          	mov    %bx,0x14(%esi)
5dc41d:	88 5e 16             	mov    %bl,0x16(%esi)
5dc420:	89 5e 18             	mov    %ebx,0x18(%esi)
5dc423:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5dc426:	89 5e 20             	mov    %ebx,0x20(%esi)
5dc429:	88 5e 24             	mov    %bl,0x24(%esi)
5dc42c:	89 5e 28             	mov    %ebx,0x28(%esi)
5dc42f:	8a 00                	mov    (%eax),%al
5dc431:	84 c0                	test   %al,%al
5dc433:	75 0c                	jne    0x5dc441
5dc435:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
5dc43c:	32 c0                	xor    %al,%al
5dc43e:	5e                   	pop    %esi
5dc43f:	5b                   	pop    %ebx
5dc440:	c3                   	ret
5dc441:	0f b6 c0             	movzbl %al,%eax
5dc444:	50                   	push   %eax
5dc445:	e8 06 9a ff ff       	call   0x5d5e50
5dc44a:	59                   	pop    %ecx
5dc44b:	8b 4e 08             	mov    0x8(%esi),%ecx
5dc44e:	85 c0                	test   %eax,%eax
5dc450:	74 24                	je     0x5dc476
5dc452:	c7 46 10 02 00 00 00 	movl   $0x2,0x10(%esi)
5dc459:	0f b6 01             	movzbl (%ecx),%eax
5dc45c:	eb 09                	jmp    0x5dc467
5dc45e:	ff 46 08             	incl   0x8(%esi)
5dc461:	8b 46 08             	mov    0x8(%esi),%eax
5dc464:	0f b6 00             	movzbl (%eax),%eax
5dc467:	50                   	push   %eax
5dc468:	e8 e3 99 ff ff       	call   0x5d5e50
5dc46d:	59                   	pop    %ecx
5dc46e:	85 c0                	test   %eax,%eax
5dc470:	75 ec                	jne    0x5dc45e
5dc472:	b0 01                	mov    $0x1,%al
5dc474:	eb c8                	jmp    0x5dc43e
5dc476:	80 39 25             	cmpb   $0x25,(%ecx)
5dc479:	75 7c                	jne    0x5dc4f7
5dc47b:	8d 41 01             	lea    0x1(%ecx),%eax
5dc47e:	80 38 25             	cmpb   $0x25,(%eax)
5dc481:	74 74                	je     0x5dc4f7
5dc483:	c7 46 10 04 00 00 00 	movl   $0x4,0x10(%esi)
5dc48a:	89 46 08             	mov    %eax,0x8(%esi)
5dc48d:	80 38 2a             	cmpb   $0x2a,(%eax)
5dc490:	75 08                	jne    0x5dc49a
5dc492:	40                   	inc    %eax
5dc493:	c6 46 16 01          	movb   $0x1,0x16(%esi)
5dc497:	89 46 08             	mov    %eax,0x8(%esi)
5dc49a:	8b ce                	mov    %esi,%ecx
5dc49c:	e8 ad 2e 00 00       	call   0x5df34e
5dc4a1:	84 c0                	test   %al,%al
5dc4a3:	74 97                	je     0x5dc43c
5dc4a5:	8b ce                	mov    %esi,%ecx
5dc4a7:	e8 36 2f 00 00       	call   0x5df3e2
5dc4ac:	8b ce                	mov    %esi,%ecx
5dc4ae:	e8 a1 30 00 00       	call   0x5df554
5dc4b3:	8b ce                	mov    %esi,%ecx
5dc4b5:	e8 18 2d 00 00       	call   0x5df1d2
5dc4ba:	84 c0                	test   %al,%al
5dc4bc:	0f 84 7a ff ff ff    	je     0x5dc43c
5dc4c2:	6b 4e 28 0c          	imul   $0xc,0x28(%esi),%ecx
5dc4c6:	8b 46 20             	mov    0x20(%esi),%eax
5dc4c9:	38 9c 01 08 35 67 00 	cmp    %bl,0x673508(%ecx,%eax,1)
5dc4d0:	75 a0                	jne    0x5dc472
5dc4d2:	89 5e 10             	mov    %ebx,0x10(%esi)
5dc4d5:	66 89 5e 14          	mov    %bx,0x14(%esi)
5dc4d9:	88 5e 16             	mov    %bl,0x16(%esi)
5dc4dc:	89 5e 18             	mov    %ebx,0x18(%esi)
5dc4df:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5dc4e2:	89 5e 20             	mov    %ebx,0x20(%esi)
5dc4e5:	88 5e 24             	mov    %bl,0x24(%esi)
5dc4e8:	89 5e 28             	mov    %ebx,0x28(%esi)
5dc4eb:	c7 46 0c 16 00 00 00 	movl   $0x16,0xc(%esi)
5dc4f2:	e9 45 ff ff ff       	jmp    0x5dc43c
5dc4f7:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
5dc4fe:	8a 01                	mov    (%ecx),%al
5dc500:	88 46 14             	mov    %al,0x14(%esi)
5dc503:	33 c0                	xor    %eax,%eax
5dc505:	80 39 25             	cmpb   $0x25,(%ecx)
5dc508:	53                   	push   %ebx
5dc509:	0f 94 c0             	sete   %al
5dc50c:	41                   	inc    %ecx
5dc50d:	03 c1                	add    %ecx,%eax
5dc50f:	8b ce                	mov    %esi,%ecx
5dc511:	89 46 08             	mov    %eax,0x8(%esi)
5dc514:	e8 e9 2f 00 00       	call   0x5df502
5dc519:	e9 20 ff ff ff       	jmp    0x5dc43e
5dc51e:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc522:	74 03                	je     0x5dc527
5dc524:	8b 01                	mov    (%ecx),%eax
5dc526:	c3                   	ret
5dc527:	6a 00                	push   $0x0
5dc529:	68 db 01 00 00       	push   $0x1db
5dc52e:	68 b0 33 67 00       	push   $0x6733b0
5dc533:	68 18 34 67 00       	push   $0x673418
5dc538:	68 74 34 67 00       	push   $0x673474
5dc53d:	e8 cb 9c ff ff       	call   0x5d620d
5dc542:	cc                   	int3
5dc543:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc547:	75 03                	jne    0x5dc54c
5dc549:	8b 01                	mov    (%ecx),%eax
5dc54b:	c3                   	ret
5dc54c:	6a 00                	push   $0x0
5dc54e:	68 e1 01 00 00       	push   $0x1e1
5dc553:	68 b0 33 67 00       	push   $0x6733b0
5dc558:	68 90 34 67 00       	push   $0x673490
5dc55d:	68 ec 34 67 00       	push   $0x6734ec
5dc562:	e8 a6 9c ff ff       	call   0x5d620d
5dc567:	cc                   	int3
5dc568:	8b ff                	mov    %edi,%edi
5dc56a:	55                   	push   %ebp
5dc56b:	8b ec                	mov    %esp,%ebp
5dc56d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5dc570:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dc574:	74 1c                	je     0x5dc592
5dc576:	e8 a3 ff ff ff       	call   0x5dc51e
5dc57b:	8b c8                	mov    %eax,%ecx
5dc57d:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5dc581:	99                   	cltd
5dc582:	c1 e0 1f             	shl    $0x1f,%eax
5dc585:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5dc58a:	83 21 00             	andl   $0x0,(%ecx)
5dc58d:	89 41 04             	mov    %eax,0x4(%ecx)
5dc590:	5d                   	pop    %ebp
5dc591:	c3                   	ret
5dc592:	e8 ac ff ff ff       	call   0x5dc543
5dc597:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5dc59b:	c1 e1 1f             	shl    $0x1f,%ecx
5dc59e:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
5dc5a4:	89 08                	mov    %ecx,(%eax)
5dc5a6:	5d                   	pop    %ebp
5dc5a7:	c3                   	ret
5dc5a8:	8b ff                	mov    %edi,%edi
5dc5aa:	55                   	push   %ebp
5dc5ab:	8b ec                	mov    %esp,%ebp
5dc5ad:	83 ec 24             	sub    $0x24,%esp
5dc5b0:	53                   	push   %ebx
5dc5b1:	56                   	push   %esi
5dc5b2:	8b 75 0c             	mov    0xc(%ebp),%esi
5dc5b5:	33 db                	xor    %ebx,%ebx
5dc5b7:	57                   	push   %edi
5dc5b8:	8b 7d 08             	mov    0x8(%ebp),%edi
5dc5bb:	3b f3                	cmp    %ebx,%esi
5dc5bd:	77 14                	ja     0x5dc5d3
5dc5bf:	83 ff ff             	cmp    $0xffffffff,%edi
5dc5c2:	77 0f                	ja     0x5dc5d3
5dc5c4:	0f bd cf             	bsr    %edi,%ecx
5dc5c7:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5dc5ca:	74 03                	je     0x5dc5cf
5dc5cc:	41                   	inc    %ecx
5dc5cd:	eb 14                	jmp    0x5dc5e3
5dc5cf:	8b cb                	mov    %ebx,%ecx
5dc5d1:	eb 10                	jmp    0x5dc5e3
5dc5d3:	0f bd ce             	bsr    %esi,%ecx
5dc5d6:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5dc5d9:	74 03                	je     0x5dc5de
5dc5db:	41                   	inc    %ecx
5dc5dc:	eb 02                	jmp    0x5dc5e0
5dc5de:	8b cb                	mov    %ebx,%ecx
5dc5e0:	83 c1 20             	add    $0x20,%ecx
5dc5e3:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc5e6:	8a 50 04             	mov    0x4(%eax),%dl
5dc5e9:	88 55 ff             	mov    %dl,-0x1(%ebp)
5dc5ec:	33 d2                	xor    %edx,%edx
5dc5ee:	38 55 ff             	cmp    %dl,-0x1(%ebp)
5dc5f1:	0f 94 c2             	sete   %dl
5dc5f4:	33 c0                	xor    %eax,%eax
5dc5f6:	4a                   	dec    %edx
5dc5f7:	83 e2 1d             	and    $0x1d,%edx
5dc5fa:	83 c2 18             	add    $0x18,%edx
5dc5fd:	2b d1                	sub    %ecx,%edx
5dc5ff:	8b 4d 10             	mov    0x10(%ebp),%ecx
5dc602:	2b ca                	sub    %edx,%ecx
5dc604:	89 55 f4             	mov    %edx,-0xc(%ebp)
5dc607:	38 45 ff             	cmp    %al,-0x1(%ebp)
5dc60a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5dc60d:	0f 94 c0             	sete   %al
5dc610:	48                   	dec    %eax
5dc611:	25 80 03 00 00       	and    $0x380,%eax
5dc616:	83 c0 7f             	add    $0x7f,%eax
5dc619:	89 45 ec             	mov    %eax,-0x14(%ebp)
5dc61c:	3b c8                	cmp    %eax,%ecx
5dc61e:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc621:	0f 8f 72 02 00 00    	jg     0x5dc899
5dc627:	33 c0                	xor    %eax,%eax
5dc629:	38 45 ff             	cmp    %al,-0x1(%ebp)
5dc62c:	0f 94 c0             	sete   %al
5dc62f:	48                   	dec    %eax
5dc630:	25 80 fc ff ff       	and    $0xfffffc80,%eax
5dc635:	83 c0 82             	add    $0xffffff82,%eax
5dc638:	3b c8                	cmp    %eax,%ecx
5dc63a:	0f 8d 3f 01 00 00    	jge    0x5dc77f
5dc640:	8b 45 ec             	mov    -0x14(%ebp),%eax
5dc643:	8b c8                	mov    %eax,%ecx
5dc645:	8b 55 10             	mov    0x10(%ebp),%edx
5dc648:	f7 d9                	neg    %ecx
5dc64a:	4a                   	dec    %edx
5dc64b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5dc64e:	03 d0                	add    %eax,%edx
5dc650:	89 55 ec             	mov    %edx,-0x14(%ebp)
5dc653:	85 d2                	test   %edx,%edx
5dc655:	0f 89 1c 01 00 00    	jns    0x5dc777
5dc65b:	8b c2                	mov    %edx,%eax
5dc65d:	f7 d8                	neg    %eax
5dc65f:	89 45 f0             	mov    %eax,-0x10(%ebp)
5dc662:	83 f8 40             	cmp    $0x40,%eax
5dc665:	0f 83 f8 00 00 00    	jae    0x5dc763
5dc66b:	8d 48 ff             	lea    -0x1(%eax),%ecx
5dc66e:	33 d2                	xor    %edx,%edx
5dc670:	33 c0                	xor    %eax,%eax
5dc672:	40                   	inc    %eax
5dc673:	e8 38 55 ff ff       	call   0x5d1bb0
5dc678:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5dc67b:	89 45 e8             	mov    %eax,-0x18(%ebp)
5dc67e:	83 c0 ff             	add    $0xffffffff,%eax
5dc681:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5dc684:	83 d2 ff             	adc    $0xffffffff,%edx
5dc687:	89 45 e0             	mov    %eax,-0x20(%ebp)
5dc68a:	33 c0                	xor    %eax,%eax
5dc68c:	89 55 dc             	mov    %edx,-0x24(%ebp)
5dc68f:	40                   	inc    %eax
5dc690:	33 d2                	xor    %edx,%edx
5dc692:	e8 19 55 ff ff       	call   0x5d1bb0
5dc697:	23 c7                	and    %edi,%eax
5dc699:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
5dc69d:	23 d6                	and    %esi,%edx
5dc69f:	0b c2                	or     %edx,%eax
5dc6a1:	75 03                	jne    0x5dc6a6
5dc6a3:	88 5d fd             	mov    %bl,-0x3(%ebp)
5dc6a6:	8b 45 e8             	mov    -0x18(%ebp),%eax
5dc6a9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5dc6ac:	23 c7                	and    %edi,%eax
5dc6ae:	23 ce                	and    %esi,%ecx
5dc6b0:	0b c1                	or     %ecx,%eax
5dc6b2:	74 07                	je     0x5dc6bb
5dc6b4:	b1 01                	mov    $0x1,%cl
5dc6b6:	88 4d ff             	mov    %cl,-0x1(%ebp)
5dc6b9:	eb 05                	jmp    0x5dc6c0
5dc6bb:	8a cb                	mov    %bl,%cl
5dc6bd:	88 5d ff             	mov    %bl,-0x1(%ebp)
5dc6c0:	38 5d 18             	cmp    %bl,0x18(%ebp)
5dc6c3:	74 15                	je     0x5dc6da
5dc6c5:	8b 45 e0             	mov    -0x20(%ebp),%eax