54fb24:	e8 87 ec 00 00       	call   0x55e7b0
54fb29:	8b f8                	mov    %eax,%edi
54fb2b:	83 c4 0c             	add    $0xc,%esp
54fb2e:	85 ff                	test   %edi,%edi
54fb30:	74 de                	je     0x54fb10
54fb32:	5f                   	pop    %edi
54fb33:	5e                   	pop    %esi
54fb34:	5b                   	pop    %ebx
54fb35:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fb38:	33 cd                	xor    %ebp,%ecx
54fb3a:	e8 9b 19 09 00       	call   0x5e14da
54fb3f:	8b e5                	mov    %ebp,%esp
54fb41:	5d                   	pop    %ebp
54fb42:	c3                   	ret
54fb43:	85 ff                	test   %edi,%edi
54fb45:	75 31                	jne    0x54fb78
54fb47:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54fb4a:	8b c1                	mov    %ecx,%eax
54fb4c:	c1 f8 10             	sar    $0x10,%eax
54fb4f:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
54fb55:	0b c1                	or     %ecx,%eax
54fb57:	89 5e 44             	mov    %ebx,0x44(%esi)
54fb5a:	66 89 46 42          	mov    %ax,0x42(%esi)
54fb5e:	39 7d 18             	cmp    %edi,0x18(%ebp)
54fb61:	74 15                	je     0x54fb78
54fb63:	8b 45 14             	mov    0x14(%ebp),%eax
54fb66:	ff 46 3c             	incl   0x3c(%esi)
54fb69:	56                   	push   %esi
54fb6a:	89 46 48             	mov    %eax,0x48(%esi)
54fb6d:	e8 de f5 00 00       	call   0x55f150
54fb72:	83 c4 04             	add    $0x4,%esp
54fb75:	89 5e 0c             	mov    %ebx,0xc(%esi)
54fb78:	8b c7                	mov    %edi,%eax
54fb7a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fb7d:	5f                   	pop    %edi
54fb7e:	5e                   	pop    %esi
54fb7f:	33 cd                	xor    %ebp,%ecx
54fb81:	5b                   	pop    %ebx
54fb82:	e8 53 19 09 00       	call   0x5e14da
54fb87:	8b e5                	mov    %ebp,%esp
54fb89:	5d                   	pop    %ebp
54fb8a:	c3                   	ret
54fb8b:	cc                   	int3
54fb8c:	cc                   	int3
54fb8d:	cc                   	int3
54fb8e:	cc                   	int3
54fb8f:	cc                   	int3
54fb90:	55                   	push   %ebp
54fb91:	8b ec                	mov    %esp,%ebp
54fb93:	83 ec 14             	sub    $0x14,%esp
54fb96:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54fb9b:	33 c5                	xor    %ebp,%eax
54fb9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54fba0:	8b 45 10             	mov    0x10(%ebp),%eax
54fba3:	53                   	push   %ebx
54fba4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54fba7:	56                   	push   %esi
54fba8:	57                   	push   %edi
54fba9:	8b 7d 08             	mov    0x8(%ebp),%edi
54fbac:	89 45 f4             	mov    %eax,-0xc(%ebp)
54fbaf:	8b 45 20             	mov    0x20(%ebp),%eax
54fbb2:	89 7d f0             	mov    %edi,-0x10(%ebp)
54fbb5:	6a 00                	push   $0x0
54fbb7:	89 45 ec             	mov    %eax,-0x14(%ebp)
54fbba:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54fbc0:	8b 7f 04             	mov    0x4(%edi),%edi
54fbc3:	83 c7 78             	add    $0x78,%edi
54fbc6:	57                   	push   %edi
54fbc7:	e8 94 13 fe ff       	call   0x530f60
54fbcc:	8b f0                	mov    %eax,%esi
54fbce:	83 c4 08             	add    $0x8,%esp
54fbd1:	85 f6                	test   %esi,%esi
54fbd3:	0f 84 ea 00 00 00    	je     0x54fcc3
54fbd9:	57                   	push   %edi
54fbda:	6a 00                	push   $0x0
54fbdc:	56                   	push   %esi
54fbdd:	e8 1e 3e 09 00       	call   0x5e3a00
54fbe2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
54fbe5:	8d 46 78             	lea    0x78(%esi),%eax
54fbe8:	8b 55 f4             	mov    -0xc(%ebp),%edx
54fbeb:	89 46 08             	mov    %eax,0x8(%esi)
54fbee:	83 c8 ff             	or     $0xffffffff,%eax
54fbf1:	66 89 46 28          	mov    %ax,0x28(%esi)
54fbf5:	8b 45 18             	mov    0x18(%ebp),%eax
54fbf8:	89 46 10             	mov    %eax,0x10(%esi)
54fbfb:	8b 45 1c             	mov    0x1c(%ebp),%eax
54fbfe:	89 46 14             	mov    %eax,0x14(%esi)
54fc01:	8b 45 14             	mov    0x14(%ebp),%eax
54fc04:	f7 d8                	neg    %eax
54fc06:	89 0e                	mov    %ecx,(%esi)
54fc08:	89 5e 04             	mov    %ebx,0x4(%esi)
54fc0b:	1a c0                	sbb    %al,%al
54fc0d:	89 56 6c             	mov    %edx,0x6c(%esi)
54fc10:	24 02                	and    $0x2,%al
54fc12:	66 c7 46 30 01 01    	movw   $0x101,0x30(%esi)
54fc18:	88 46 2b             	mov    %al,0x2b(%esi)
54fc1b:	8d 45 f8             	lea    -0x8(%ebp),%eax
54fc1e:	50                   	push   %eax
54fc1f:	8b 41 18             	mov    0x18(%ecx),%eax
54fc22:	68 06 00 08 00       	push   $0x80006
54fc27:	c7 45 f8 06 00 08 00 	movl   $0x80006,-0x8(%ebp)
54fc2e:	ff 76 08             	push   0x8(%esi)
54fc31:	52                   	push   %edx
54fc32:	51                   	push   %ecx
54fc33:	ff d0                	call   *%eax
54fc35:	83 c4 20             	add    $0x20,%esp
54fc38:	89 45 f4             	mov    %eax,-0xc(%ebp)
54fc3b:	85 c0                	test   %eax,%eax
54fc3d:	75 44                	jne    0x54fc83
54fc3f:	f6 45 f8 01          	testb  $0x1,-0x8(%ebp)
54fc43:	74 04                	je     0x54fc49
54fc45:	c6 46 2e 01          	movb   $0x1,0x2e(%esi)
54fc49:	8b 03                	mov    (%ebx),%eax
54fc4b:	53                   	push   %ebx
54fc4c:	8b 40 30             	mov    0x30(%eax),%eax
54fc4f:	ff d0                	call   *%eax
54fc51:	83 c4 04             	add    $0x4,%esp
54fc54:	a9 00 04 00 00       	test   $0x400,%eax
54fc59:	74 04                	je     0x54fc5f
54fc5b:	c6 46 30 00          	movb   $0x0,0x30(%esi)
54fc5f:	a9 00 10 00 00       	test   $0x1000,%eax
54fc64:	74 04                	je     0x54fc6a
54fc66:	c6 46 31 00          	movb   $0x0,0x31(%esi)
54fc6a:	8b 45 ec             	mov    -0x14(%ebp),%eax
54fc6d:	5f                   	pop    %edi
54fc6e:	89 30                	mov    %esi,(%eax)
54fc70:	8b 45 f4             	mov    -0xc(%ebp),%eax
54fc73:	5e                   	pop    %esi
54fc74:	5b                   	pop    %ebx
54fc75:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fc78:	33 cd                	xor    %ebp,%ecx
54fc7a:	e8 5b 18 09 00       	call   0x5e14da
54fc7f:	8b e5                	mov    %ebp,%esp
54fc81:	5d                   	pop    %ebp
54fc82:	c3                   	ret
54fc83:	6a 00                	push   $0x0
54fc85:	56                   	push   %esi
54fc86:	e8 f5 eb 00 00       	call   0x55e880
54fc8b:	8b 7e 08             	mov    0x8(%esi),%edi
54fc8e:	83 c4 08             	add    $0x8,%esp
54fc91:	8b 07                	mov    (%edi),%eax
54fc93:	85 c0                	test   %eax,%eax
54fc95:	74 0f                	je     0x54fca6
54fc97:	8b 40 04             	mov    0x4(%eax),%eax
54fc9a:	57                   	push   %edi
54fc9b:	ff d0                	call   *%eax
54fc9d:	83 c4 04             	add    $0x4,%esp
54fca0:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
54fca6:	56                   	push   %esi
54fca7:	e8 e4 b0 f9 ff       	call   0x4ead90
54fcac:	8b 45 f4             	mov    -0xc(%ebp),%eax
54fcaf:	83 c4 04             	add    $0x4,%esp
54fcb2:	5f                   	pop    %edi
54fcb3:	5e                   	pop    %esi
54fcb4:	5b                   	pop    %ebx
54fcb5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fcb8:	33 cd                	xor    %ebp,%ecx
54fcba:	e8 1b 18 09 00       	call   0x5e14da
54fcbf:	8b e5                	mov    %ebp,%esp
54fcc1:	5d                   	pop    %ebp
54fcc2:	c3                   	ret
54fcc3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fcc6:	b8 07 00 00 00       	mov    $0x7,%eax
54fccb:	5f                   	pop    %edi
54fccc:	5e                   	pop    %esi
54fccd:	33 cd                	xor    %ebp,%ecx
54fccf:	5b                   	pop    %ebx
54fcd0:	e8 05 18 09 00       	call   0x5e14da
54fcd5:	8b e5                	mov    %ebp,%esp
54fcd7:	5d                   	pop    %ebp
54fcd8:	c3                   	ret
54fcd9:	cc                   	int3
54fcda:	cc                   	int3
54fcdb:	cc                   	int3
54fcdc:	cc                   	int3
54fcdd:	cc                   	int3
54fcde:	cc                   	int3
54fcdf:	cc                   	int3
54fce0:	55                   	push   %ebp
54fce1:	8b ec                	mov    %esp,%ebp
54fce3:	83 ec 08             	sub    $0x8,%esp
54fce6:	53                   	push   %ebx
54fce7:	57                   	push   %edi
54fce8:	8b 7d 08             	mov    0x8(%ebp),%edi
54fceb:	33 db                	xor    %ebx,%ebx
54fced:	38 5f 2c             	cmp    %bl,0x2c(%edi)
54fcf0:	0f 84 95 00 00 00    	je     0x54fd8b
54fcf6:	8b 47 20             	mov    0x20(%edi),%eax
54fcf9:	8b 57 44             	mov    0x44(%edi),%edx
54fcfc:	56                   	push   %esi
54fcfd:	89 55 f8             	mov    %edx,-0x8(%ebp)
54fd00:	8b 00                	mov    (%eax),%eax
54fd02:	0f 10 00             	movups (%eax),%xmm0
54fd05:	0f 11 47 34          	movups %xmm0,0x34(%edi)
54fd09:	0f 10 40 10          	movups 0x10(%eax),%xmm0
54fd0d:	0f 11 47 44          	movups %xmm0,0x44(%edi)
54fd11:	0f 10 40 20          	movups 0x20(%eax),%xmm0
54fd15:	0f 11 47 54          	movups %xmm0,0x54(%edi)
54fd19:	8b 47 44             	mov    0x44(%edi),%eax
54fd1c:	40                   	inc    %eax
54fd1d:	89 45 08             	mov    %eax,0x8(%ebp)
54fd20:	8d 70 21             	lea    0x21(%eax),%esi
54fd23:	8d 0c b5 00 00 00 00 	lea    0x0(,%esi,4),%ecx
54fd2a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54fd2d:	0f 1f 00             	nopl   (%eax)
54fd30:	3b c2                	cmp    %edx,%eax
54fd32:	77 48                	ja     0x54fd7c
54fd34:	8b c6                	mov    %esi,%eax
54fd36:	c1 e8 0c             	shr    $0xc,%eax
54fd39:	85 c0                	test   %eax,%eax
54fd3b:	75 0a                	jne    0x54fd47
54fd3d:	8b 47 20             	mov    0x20(%edi),%eax
54fd40:	8b 00                	mov    (%eax),%eax
54fd42:	8b 04 01             	mov    (%ecx,%eax,1),%eax
54fd45:	eb 11                	jmp    0x54fd58
54fd47:	8b 4f 20             	mov    0x20(%edi),%ecx
54fd4a:	8b d6                	mov    %esi,%edx
54fd4c:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
54fd52:	8b 04 81             	mov    (%ecx,%eax,4),%eax
54fd55:	8b 04 90             	mov    (%eax,%edx,4),%eax
54fd58:	50                   	push   %eax
54fd59:	ff 75 10             	push   0x10(%ebp)
54fd5c:	ff 55 0c             	call   *0xc(%ebp)
54fd5f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54fd62:	8b d8                	mov    %eax,%ebx
54fd64:	8b 45 08             	mov    0x8(%ebp),%eax
54fd67:	83 c1 04             	add    $0x4,%ecx
54fd6a:	8b 55 f8             	mov    -0x8(%ebp),%edx
54fd6d:	40                   	inc    %eax
54fd6e:	83 c4 08             	add    $0x8,%esp
54fd71:	89 45 08             	mov    %eax,0x8(%ebp)
54fd74:	46                   	inc    %esi
54fd75:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54fd78:	85 db                	test   %ebx,%ebx
54fd7a:	74 b4                	je     0x54fd30
54fd7c:	5e                   	pop    %esi
54fd7d:	3b 57 44             	cmp    0x44(%edi),%edx
54fd80:	74 09                	je     0x54fd8b
54fd82:	57                   	push   %edi
54fd83:	e8 28 e8 00 00       	call   0x55e5b0
54fd88:	83 c4 04             	add    $0x4,%esp
54fd8b:	5f                   	pop    %edi
54fd8c:	8b c3                	mov    %ebx,%eax
54fd8e:	5b                   	pop    %ebx
54fd8f:	8b e5                	mov    %ebp,%esp
54fd91:	5d                   	pop    %ebp
54fd92:	c3                   	ret
54fd93:	cc                   	int3
54fd94:	cc                   	int3
54fd95:	cc                   	int3
54fd96:	cc                   	int3
54fd97:	cc                   	int3
54fd98:	cc                   	int3
54fd99:	cc                   	int3
54fd9a:	cc                   	int3
54fd9b:	cc                   	int3
54fd9c:	cc                   	int3
54fd9d:	cc                   	int3
54fd9e:	cc                   	int3
54fd9f:	cc                   	int3
54fda0:	55                   	push   %ebp
54fda1:	8b ec                	mov    %esp,%ebp
54fda3:	53                   	push   %ebx
54fda4:	56                   	push   %esi
54fda5:	57                   	push   %edi
54fda6:	8b 7d 0c             	mov    0xc(%ebp),%edi
54fda9:	85 ff                	test   %edi,%edi
54fdab:	74 2f                	je     0x54fddc
54fdad:	8b 37                	mov    (%edi),%esi
54fdaf:	83 c7 04             	add    $0x4,%edi
54fdb2:	85 f6                	test   %esi,%esi
54fdb4:	7e 26                	jle    0x54fddc
54fdb6:	8b 5d 08             	mov    0x8(%ebp),%ebx
54fdb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
54fdc0:	8b 07                	mov    (%edi),%eax
54fdc2:	85 c0                	test   %eax,%eax
54fdc4:	74 0e                	je     0x54fdd4
54fdc6:	50                   	push   %eax
54fdc7:	53                   	push   %ebx
54fdc8:	e8 e3 01 01 00       	call   0x55ffb0
54fdcd:	83 c4 08             	add    $0x8,%esp
54fdd0:	85 c0                	test   %eax,%eax
54fdd2:	75 0f                	jne    0x54fde3
54fdd4:	4e                   	dec    %esi
54fdd5:	83 c7 14             	add    $0x14,%edi
54fdd8:	85 f6                	test   %esi,%esi
54fdda:	7f e4                	jg     0x54fdc0
54fddc:	5f                   	pop    %edi
54fddd:	5e                   	pop    %esi
54fdde:	33 c0                	xor    %eax,%eax
54fde0:	5b                   	pop    %ebx
54fde1:	5d                   	pop    %ebp
54fde2:	c3                   	ret
54fde3:	5f                   	pop    %edi
54fde4:	5e                   	pop    %esi
54fde5:	b8 02 00 00 00       	mov    $0x2,%eax
54fdea:	5b                   	pop    %ebx
54fdeb:	5d                   	pop    %ebp
54fdec:	c3                   	ret
54fded:	cc                   	int3
54fdee:	cc                   	int3
54fdef:	cc                   	int3
54fdf0:	55                   	push   %ebp
54fdf1:	8b ec                	mov    %esp,%ebp
54fdf3:	56                   	push   %esi
54fdf4:	8b 75 0c             	mov    0xc(%ebp),%esi
54fdf7:	85 f6                	test   %esi,%esi
54fdf9:	75 05                	jne    0x54fe00
54fdfb:	33 c0                	xor    %eax,%eax
54fdfd:	5e                   	pop    %esi
54fdfe:	5d                   	pop    %ebp
54fdff:	c3                   	ret
54fe00:	57                   	push   %edi
54fe01:	8b 7d 08             	mov    0x8(%ebp),%edi
54fe04:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
54fe08:	75 06                	jne    0x54fe10
54fe0a:	5f                   	pop    %edi
54fe0b:	33 c0                	xor    %eax,%eax
54fe0d:	5e                   	pop    %esi
54fe0e:	5d                   	pop    %ebp
54fe0f:	c3                   	ret
54fe10:	8b 47 08             	mov    0x8(%edi),%eax
54fe13:	56                   	push   %esi
54fe14:	57                   	push   %edi
54fe15:	ff d0                	call   *%eax
54fe17:	83 c4 08             	add    $0x8,%esp
54fe1a:	85 c0                	test   %eax,%eax
54fe1c:	75 40                	jne    0x54fe5e
54fe1e:	56                   	push   %esi
54fe1f:	57                   	push   %edi
54fe20:	e8 4b 00 00 00       	call   0x54fe70
54fe25:	83 c4 08             	add    $0x8,%esp
54fe28:	85 c0                	test   %eax,%eax
54fe2a:	75 29                	jne    0x54fe55
54fe2c:	56                   	push   %esi
54fe2d:	57                   	push   %edi
54fe2e:	e8 ed 00 00 00       	call   0x54ff20
54fe33:	83 c4 08             	add    $0x8,%esp
54fe36:	85 c0                	test   %eax,%eax
54fe38:	75 1b                	jne    0x54fe55
54fe3a:	8b 47 0c             	mov    0xc(%edi),%eax
54fe3d:	85 c0                	test   %eax,%eax
54fe3f:	74 07                	je     0x54fe48
54fe41:	56                   	push   %esi
54fe42:	57                   	push   %edi
54fe43:	ff d0                	call   *%eax
54fe45:	83 c4 08             	add    $0x8,%esp
54fe48:	8b 76 34             	mov    0x34(%esi),%esi
54fe4b:	85 f6                	test   %esi,%esi
54fe4d:	75 c1                	jne    0x54fe10