55ab4f:	8b ca                	mov    %edx,%ecx
55ab51:	0f ac cf 07          	shrd   $0x7,%ecx,%edi
55ab55:	c1 e9 07             	shr    $0x7,%ecx
55ab58:	8b f7                	mov    %edi,%esi
55ab5a:	0b f1                	or     %ecx,%esi
55ab5c:	74 13                	je     0x55ab71
55ab5e:	8b 45 dc             	mov    -0x24(%ebp),%eax
55ab61:	0f ac cf 07          	shrd   $0x7,%ecx,%edi
55ab65:	40                   	inc    %eax
55ab66:	c1 e9 07             	shr    $0x7,%ecx
55ab69:	8b d7                	mov    %edi,%edx
55ab6b:	0b d1                	or     %ecx,%edx
55ab6d:	75 f2                	jne    0x55ab61
55ab6f:	eb 05                	jmp    0x55ab76
55ab71:	b8 01 00 00 00       	mov    $0x1,%eax
55ab76:	8b 75 e0             	mov    -0x20(%ebp),%esi
55ab79:	99                   	cltd
55ab7a:	8b f8                	mov    %eax,%edi
55ab7c:	8b ca                	mov    %edx,%ecx
55ab7e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55ab81:	03 fb                	add    %ebx,%edi
55ab83:	13 ce                	adc    %esi,%ecx
55ab85:	03 7d d0             	add    -0x30(%ebp),%edi
55ab88:	8b 40 10             	mov    0x10(%eax),%eax
55ab8b:	13 4d cc             	adc    -0x34(%ebp),%ecx
55ab8e:	99                   	cltd
55ab8f:	03 45 d8             	add    -0x28(%ebp),%eax
55ab92:	13 55 ec             	adc    -0x14(%ebp),%edx
55ab95:	3b ca                	cmp    %edx,%ecx
55ab97:	0f 8f 9a 00 00 00    	jg     0x55ac37
55ab9d:	7c 08                	jl     0x55aba7
55ab9f:	3b f8                	cmp    %eax,%edi
55aba1:	0f 87 90 00 00 00    	ja     0x55ac37
55aba7:	85 f6                	test   %esi,%esi
55aba9:	77 3d                	ja     0x55abe8
55abab:	72 05                	jb     0x55abb2
55abad:	83 fb 7f             	cmp    $0x7f,%ebx
55abb0:	77 0d                	ja     0x55abbf
55abb2:	80 e3 7f             	and    $0x7f,%bl
55abb5:	b8 01 00 00 00       	mov    $0x1,%eax
55abba:	88 5d f0             	mov    %bl,-0x10(%ebp)
55abbd:	eb 37                	jmp    0x55abf6
55abbf:	85 f6                	test   %esi,%esi
55abc1:	77 25                	ja     0x55abe8
55abc3:	72 08                	jb     0x55abcd
55abc5:	81 fb ff 3f 00 00    	cmp    $0x3fff,%ebx
55abcb:	77 1b                	ja     0x55abe8
55abcd:	8b c3                	mov    %ebx,%eax
55abcf:	0f ac f0 07          	shrd   $0x7,%esi,%eax
55abd3:	0c 80                	or     $0x80,%al
55abd5:	c1 ee 07             	shr    $0x7,%esi
55abd8:	80 e3 7f             	and    $0x7f,%bl
55abdb:	88 45 f0             	mov    %al,-0x10(%ebp)
55abde:	88 5d f1             	mov    %bl,-0xf(%ebp)
55abe1:	b8 02 00 00 00       	mov    $0x2,%eax
55abe6:	eb 0e                	jmp    0x55abf6
55abe8:	56                   	push   %esi
55abe9:	8d 45 f0             	lea    -0x10(%ebp),%eax
55abec:	53                   	push   %ebx
55abed:	50                   	push   %eax
55abee:	e8 4d 66 fb ff       	call   0x511240
55abf3:	83 c4 0c             	add    $0xc,%esp
55abf6:	50                   	push   %eax
55abf7:	8d 45 f0             	lea    -0x10(%ebp),%eax
55abfa:	50                   	push   %eax
55abfb:	8d 45 9c             	lea    -0x64(%ebp),%eax
55abfe:	50                   	push   %eax
55abff:	e8 9c 10 00 00       	call   0x55bca0
55ac04:	8b 45 c4             	mov    -0x3c(%ebp),%eax
55ac07:	ff 75 c8             	push   -0x38(%ebp)
55ac0a:	ff 70 20             	push   0x20(%eax)
55ac0d:	8d 45 9c             	lea    -0x64(%ebp),%eax
55ac10:	50                   	push   %eax
55ac11:	e8 8a 10 00 00       	call   0x55bca0
55ac16:	8d 45 98             	lea    -0x68(%ebp),%eax
55ac19:	50                   	push   %eax
55ac1a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55ac1d:	ff 70 04             	push   0x4(%eax)
55ac20:	e8 ab 08 00 00       	call   0x55b4d0
55ac25:	8b d8                	mov    %eax,%ebx
55ac27:	83 c4 20             	add    $0x20,%esp
55ac2a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
55ac2d:	85 db                	test   %ebx,%ebx
55ac2f:	0f 84 cb fe ff ff    	je     0x55ab00
55ac35:	eb 03                	jmp    0x55ac3a
55ac37:	8b 5d e8             	mov    -0x18(%ebp),%ebx
55ac3a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
55ac3d:	83 c0 38             	add    $0x38,%eax
55ac40:	50                   	push   %eax
55ac41:	8d 45 9c             	lea    -0x64(%ebp),%eax
55ac44:	50                   	push   %eax
55ac45:	e8 a6 11 00 00       	call   0x55bdf0
55ac4a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
55ac4d:	83 c4 08             	add    $0x8,%esp
55ac50:	85 db                	test   %ebx,%ebx
55ac52:	0f 44 d8             	cmove  %eax,%ebx
55ac55:	33 cd                	xor    %ebp,%ecx
55ac57:	5f                   	pop    %edi
55ac58:	5e                   	pop    %esi
55ac59:	8b c3                	mov    %ebx,%eax
55ac5b:	5b                   	pop    %ebx
55ac5c:	e8 79 68 08 00       	call   0x5e14da
55ac61:	8b e5                	mov    %ebp,%esp
55ac63:	5d                   	pop    %ebp
55ac64:	c3                   	ret
55ac65:	cc                   	int3
55ac66:	cc                   	int3
55ac67:	cc                   	int3
55ac68:	cc                   	int3
55ac69:	cc                   	int3
55ac6a:	cc                   	int3
55ac6b:	cc                   	int3
55ac6c:	cc                   	int3
55ac6d:	cc                   	int3
55ac6e:	cc                   	int3
55ac6f:	cc                   	int3
55ac70:	55                   	push   %ebp
55ac71:	8b ec                	mov    %esp,%ebp
55ac73:	56                   	push   %esi
55ac74:	8b 75 08             	mov    0x8(%ebp),%esi
55ac77:	56                   	push   %esi
55ac78:	e8 e3 fd ff ff       	call   0x55aa60
55ac7d:	8b 0e                	mov    (%esi),%ecx
55ac7f:	83 c4 04             	add    $0x4,%esp
55ac82:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
55ac89:	5e                   	pop    %esi
55ac8a:	5d                   	pop    %ebp
55ac8b:	c3                   	ret
55ac8c:	cc                   	int3
55ac8d:	cc                   	int3
55ac8e:	cc                   	int3
55ac8f:	cc                   	int3
55ac90:	55                   	push   %ebp
55ac91:	8b ec                	mov    %esp,%ebp
55ac93:	56                   	push   %esi
55ac94:	8b 75 08             	mov    0x8(%ebp),%esi
55ac97:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
55ac9b:	74 67                	je     0x55ad04
55ac9d:	57                   	push   %edi
55ac9e:	8b 3e                	mov    (%esi),%edi
55aca0:	33 c0                	xor    %eax,%eax
55aca2:	8b 0f                	mov    (%edi),%ecx
55aca4:	85 c9                	test   %ecx,%ecx
55aca6:	74 24                	je     0x55accc
55aca8:	8d 45 08             	lea    0x8(%ebp),%eax
55acab:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
55acb2:	50                   	push   %eax
55acb3:	51                   	push   %ecx
55acb4:	e8 47 34 fe ff       	call   0x53e100
55acb9:	8b 45 08             	mov    0x8(%ebp),%eax
55acbc:	83 c4 08             	add    $0x8,%esp
55acbf:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
55acc6:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
55accc:	5f                   	pop    %edi
55accd:	85 c0                	test   %eax,%eax
55accf:	75 5f                	jne    0x55ad30
55acd1:	0f 10 46 30          	movups 0x30(%esi),%xmm0
55acd5:	0f 10 4e 20          	movups 0x20(%esi),%xmm1
55acd9:	0f 11 46 20          	movups %xmm0,0x20(%esi)
55acdd:	8b 4e 28             	mov    0x28(%esi),%ecx
55ace0:	0f 11 4e 30          	movups %xmm1,0x30(%esi)
55ace4:	3b 4e 08             	cmp    0x8(%esi),%ecx
55ace7:	75 08                	jne    0x55acf1
55ace9:	8b 4e 2c             	mov    0x2c(%esi),%ecx
55acec:	3b 4e 0c             	cmp    0xc(%esi),%ecx
55acef:	74 38                	je     0x55ad29
55acf1:	56                   	push   %esi
55acf2:	68 70 ac 55 00       	push   $0x55ac70
55acf7:	ff 36                	push   (%esi)
55acf9:	e8 12 33 fe ff       	call   0x53e010
55acfe:	83 c4 0c             	add    $0xc,%esp
55ad01:	5e                   	pop    %esi
55ad02:	5d                   	pop    %ebp
55ad03:	c3                   	ret
55ad04:	56                   	push   %esi
55ad05:	e8 56 fd ff ff       	call   0x55aa60
55ad0a:	0f 10 46 30          	movups 0x30(%esi),%xmm0
55ad0e:	83 c4 04             	add    $0x4,%esp
55ad11:	8b d0                	mov    %eax,%edx
55ad13:	0f 11 46 20          	movups %xmm0,0x20(%esi)
55ad17:	8b 4e 28             	mov    0x28(%esi),%ecx
55ad1a:	3b 4e 08             	cmp    0x8(%esi),%ecx
55ad1d:	75 11                	jne    0x55ad30
55ad1f:	8b 46 2c             	mov    0x2c(%esi),%eax
55ad22:	3b 46 0c             	cmp    0xc(%esi),%eax
55ad25:	8b c2                	mov    %edx,%eax
55ad27:	75 07                	jne    0x55ad30
55ad29:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
55ad30:	5e                   	pop    %esi
55ad31:	5d                   	pop    %ebp
55ad32:	c3                   	ret
55ad33:	cc                   	int3
55ad34:	cc                   	int3
55ad35:	cc                   	int3
55ad36:	cc                   	int3
55ad37:	cc                   	int3
55ad38:	cc                   	int3
55ad39:	cc                   	int3
55ad3a:	cc                   	int3
55ad3b:	cc                   	int3
55ad3c:	cc                   	int3
55ad3d:	cc                   	int3
55ad3e:	cc                   	int3
55ad3f:	cc                   	int3
55ad40:	55                   	push   %ebp
55ad41:	8b ec                	mov    %esp,%ebp
55ad43:	51                   	push   %ecx
55ad44:	8b 4d 08             	mov    0x8(%ebp),%ecx
55ad47:	53                   	push   %ebx
55ad48:	57                   	push   %edi
55ad49:	33 ff                	xor    %edi,%edi
55ad4b:	8b 01                	mov    (%ecx),%eax
55ad4d:	8b 50 14             	mov    0x14(%eax),%edx
55ad50:	8b 58 10             	mov    0x10(%eax),%ebx
55ad53:	89 55 fc             	mov    %edx,-0x4(%ebp)
55ad56:	85 d2                	test   %edx,%edx
55ad58:	7e 45                	jle    0x55ad9f
55ad5a:	56                   	push   %esi
55ad5b:	be 01 00 00 00       	mov    $0x1,%esi
55ad60:	c1 c6 00             	rol    $0x0,%esi
55ad63:	83 c3 04             	add    $0x4,%ebx
55ad66:	83 ff 01             	cmp    $0x1,%edi
55ad69:	74 29                	je     0x55ad94
55ad6b:	85 b1 a0 00 00 00    	test   %esi,0xa0(%ecx)
55ad71:	74 21                	je     0x55ad94
55ad73:	8b 03                	mov    (%ebx),%eax
55ad75:	85 c0                	test   %eax,%eax
55ad77:	74 1b                	je     0x55ad94
55ad79:	80 78 09 00          	cmpb   $0x0,0x9(%eax)
55ad7d:	74 15                	je     0x55ad94
55ad7f:	83 40 0c ff          	addl   $0xffffffff,0xc(%eax)
55ad83:	75 0f                	jne    0x55ad94
55ad85:	50                   	push   %eax
55ad86:	e8 45 dc ff ff       	call   0x5589d0
55ad8b:	8b 4d 08             	mov    0x8(%ebp),%ecx
55ad8e:	83 c4 04             	add    $0x4,%esp
55ad91:	8b 55 fc             	mov    -0x4(%ebp),%edx
55ad94:	47                   	inc    %edi
55ad95:	d1 c6                	rol    $1,%esi
55ad97:	83 c3 10             	add    $0x10,%ebx
55ad9a:	3b fa                	cmp    %edx,%edi
55ad9c:	7c c8                	jl     0x55ad66
55ad9e:	5e                   	pop    %esi
55ad9f:	5f                   	pop    %edi
55ada0:	5b                   	pop    %ebx
55ada1:	8b e5                	mov    %ebp,%esp
55ada3:	5d                   	pop    %ebp
55ada4:	c3                   	ret
55ada5:	cc                   	int3
55ada6:	cc                   	int3
55ada7:	cc                   	int3
55ada8:	cc                   	int3
55ada9:	cc                   	int3
55adaa:	cc                   	int3
55adab:	cc                   	int3
55adac:	cc                   	int3
55adad:	cc                   	int3
55adae:	cc                   	int3
55adaf:	cc                   	int3
55adb0:	55                   	push   %ebp
55adb1:	8b ec                	mov    %esp,%ebp
55adb3:	56                   	push   %esi
55adb4:	8b 75 08             	mov    0x8(%ebp),%esi
55adb7:	6a 01                	push   $0x1
55adb9:	8b 46 0c             	mov    0xc(%esi),%eax
55adbc:	83 c0 03             	add    $0x3,%eax
55adbf:	50                   	push   %eax
55adc0:	56                   	push   %esi
55adc1:	e8 2a 07 ff ff       	call   0x54b4f0
55adc6:	83 c4 0c             	add    $0xc,%esp
55adc9:	85 c0                	test   %eax,%eax
55adcb:	74 08                	je     0x55add5
55adcd:	b8 07 00 00 00       	mov    $0x7,%eax
55add2:	5e                   	pop    %esi
55add3:	5d                   	pop    %ebp
55add4:	c3                   	ret
55add5:	8b 4e 10             	mov    0x10(%esi),%ecx
55add8:	8b 46 0c             	mov    0xc(%esi),%eax
55addb:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
55addf:	8b 4e 10             	mov    0x10(%esi),%ecx
55ade2:	8b 46 0c             	mov    0xc(%esi),%eax
55ade5:	c6 44 01 01 00       	movb   $0x0,0x1(%ecx,%eax,1)
55adea:	8b 46 0c             	mov    0xc(%esi),%eax
55aded:	8b 4e 10             	mov    0x10(%esi),%ecx
55adf0:	c6 44 01 02 00       	movb   $0x0,0x2(%ecx,%eax,1)
55adf5:	b8 00 02 00 00       	mov    $0x200,%eax
55adfa:	66 09 46 08          	or     %ax,0x8(%esi)
55adfe:	33 c0                	xor    %eax,%eax
55ae00:	5e                   	pop    %esi
55ae01:	5d                   	pop    %ebp
55ae02:	c3                   	ret
55ae03:	cc                   	int3
55ae04:	cc                   	int3
55ae05:	cc                   	int3
55ae06:	cc                   	int3
55ae07:	cc                   	int3
55ae08:	cc                   	int3
55ae09:	cc                   	int3
55ae0a:	cc                   	int3
55ae0b:	cc                   	int3
55ae0c:	cc                   	int3
55ae0d:	cc                   	int3
55ae0e:	cc                   	int3
55ae0f:	cc                   	int3
55ae10:	55                   	push   %ebp
55ae11:	8b ec                	mov    %esp,%ebp
55ae13:	56                   	push   %esi
55ae14:	8b 75 08             	mov    0x8(%ebp),%esi
55ae17:	b8 00 24 00 00       	mov    $0x2400,%eax
55ae1c:	66 85 46 08          	test   %ax,0x8(%esi)
55ae20:	74 09                	je     0x55ae2b
55ae22:	56                   	push   %esi
55ae23:	e8 28 00 00 00       	call   0x55ae50
55ae28:	83 c4 04             	add    $0x4,%esp
55ae2b:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
55ae2f:	74 15                	je     0x55ae46
55ae31:	ff 76 14             	push   0x14(%esi)
55ae34:	ff 76 20             	push   0x20(%esi)
55ae37:	e8 34 65 fc ff       	call   0x521370
55ae3c:	83 c4 08             	add    $0x8,%esp
55ae3f:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
55ae46:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
55ae4d:	5e                   	pop    %esi
55ae4e:	5d                   	pop    %ebp
55ae4f:	c3                   	ret
55ae50:	55                   	push   %ebp
55ae51:	8b ec                	mov    %esp,%ebp
55ae53:	56                   	push   %esi
55ae54:	8b 75 08             	mov    0x8(%ebp),%esi
55ae57:	b8 00 20 00 00       	mov    $0x2000,%eax
55ae5c:	66 85 46 08          	test   %ax,0x8(%esi)
55ae60:	74 0b                	je     0x55ae6d
55ae62:	ff 36                	push   (%esi)
55ae64:	56                   	push   %esi
55ae65:	e8 76 05 ff ff       	call   0x54b3e0
55ae6a:	83 c4 08             	add    $0x8,%esp
55ae6d:	b8 00 04 00 00       	mov    $0x400,%eax
55ae72:	66 85 46 08          	test   %ax,0x8(%esi)
55ae76:	74 0b                	je     0x55ae83
55ae78:	ff 76 10             	push   0x10(%esi)
55ae7b:	8b 46 24             	mov    0x24(%esi),%eax
55ae7e:	ff d0                	call   *%eax
55ae80:	83 c4 04             	add    $0x4,%esp
55ae83:	b8 01 00 00 00       	mov    $0x1,%eax
55ae88:	66 89 46 08          	mov    %ax,0x8(%esi)
55ae8c:	5e                   	pop    %esi
55ae8d:	5d                   	pop    %ebp
55ae8e:	c3                   	ret
55ae8f:	cc                   	int3
55ae90:	55                   	push   %ebp