54f952:	3b cb                	cmp    %ebx,%ecx
54f954:	89 45 d0             	mov    %eax,-0x30(%ebp)
54f957:	8b 4d d8             	mov    -0x28(%ebp),%ecx
54f95a:	89 45 94             	mov    %eax,-0x6c(%ebp)
54f95d:	75 0b                	jne    0x54f96a
54f95f:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
54f966:	3b c1                	cmp    %ecx,%eax
54f968:	74 07                	je     0x54f971
54f96a:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
54f971:	3b c8                	cmp    %eax,%ecx
54f973:	0f 8f f5 00 00 00    	jg     0x54fa6e
54f979:	7c 09                	jl     0x54f984
54f97b:	3b 5d d4             	cmp    -0x2c(%ebp),%ebx
54f97e:	0f 83 ea 00 00 00    	jae    0x54fa6e
54f984:	8b 55 14             	mov    0x14(%ebp),%edx
54f987:	0f ca                	bswap  %edx
54f989:	89 55 a8             	mov    %edx,-0x58(%ebp)
54f98c:	8b 45 b8             	mov    -0x48(%ebp),%eax
54f98f:	8d 7e 4c             	lea    0x4c(%esi),%edi
54f992:	89 55 e8             	mov    %edx,-0x18(%ebp)
54f995:	8b 40 04             	mov    0x4(%eax),%eax
54f998:	89 45 c0             	mov    %eax,-0x40(%ebp)
54f99b:	8b 45 b8             	mov    -0x48(%ebp),%eax
54f99e:	8b 40 18             	mov    0x18(%eax),%eax
54f9a1:	0f c8                	bswap  %eax
54f9a3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
54f9a6:	83 7e 68 00          	cmpl   $0x0,0x68(%esi)
54f9aa:	75 4a                	jne    0x54f9f6
54f9ac:	8b 46 54             	mov    0x54(%esi),%eax
54f9af:	33 db                	xor    %ebx,%ebx
54f9b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
54f9b4:	8b 46 58             	mov    0x58(%esi),%eax
54f9b7:	57                   	push   %edi
54f9b8:	89 45 f0             	mov    %eax,-0x10(%ebp)
54f9bb:	8d 45 e4             	lea    -0x1c(%ebp),%eax
54f9be:	38 5e 41             	cmp    %bl,0x41(%esi)
54f9c1:	57                   	push   %edi
54f9c2:	6a 08                	push   $0x8
54f9c4:	0f 94 c3             	sete   %bl
54f9c7:	50                   	push   %eax
54f9c8:	53                   	push   %ebx
54f9c9:	e8 22 eb 00 00       	call   0x55e4f0
54f9ce:	57                   	push   %edi
54f9cf:	57                   	push   %edi
54f9d0:	ff 76 24             	push   0x24(%esi)
54f9d3:	ff 75 c0             	push   -0x40(%ebp)
54f9d6:	53                   	push   %ebx
54f9d7:	e8 14 eb 00 00       	call   0x55e4f0
54f9dc:	8b 07                	mov    (%edi),%eax
54f9de:	83 c4 28             	add    $0x28,%esp
54f9e1:	8b 5d cc             	mov    -0x34(%ebp),%ebx
54f9e4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
54f9e7:	0f c8                	bswap  %eax
54f9e9:	89 45 f4             	mov    %eax,-0xc(%ebp)
54f9ec:	8b 47 04             	mov    0x4(%edi),%eax
54f9ef:	0f c8                	bswap  %eax
54f9f1:	89 45 f8             	mov    %eax,-0x8(%ebp)
54f9f4:	eb 07                	jmp    0x54f9fd
54f9f6:	0f 57 c0             	xorps  %xmm0,%xmm0
54f9f9:	0f 11 45 ec          	movups %xmm0,-0x14(%ebp)
54f9fd:	51                   	push   %ecx
54f9fe:	53                   	push   %ebx
54f9ff:	6a 18                	push   $0x18
54fa01:	8d 45 e4             	lea    -0x1c(%ebp),%eax
54fa04:	50                   	push   %eax
54fa05:	8d 45 88             	lea    -0x78(%ebp),%eax
54fa08:	50                   	push   %eax
54fa09:	e8 e2 04 01 00       	call   0x55fef0
54fa0e:	8b f8                	mov    %eax,%edi
54fa10:	83 c4 14             	add    $0x14,%esp
54fa13:	85 ff                	test   %edi,%edi
54fa15:	0f 85 5d 01 00 00    	jne    0x54fb78
54fa1b:	8b 45 d8             	mov    -0x28(%ebp),%eax
54fa1e:	8b cb                	mov    %ebx,%ecx
54fa20:	83 c1 18             	add    $0x18,%ecx
54fa23:	13 c7                	adc    %edi,%eax
54fa25:	50                   	push   %eax
54fa26:	51                   	push   %ecx
54fa27:	ff 75 0c             	push   0xc(%ebp)
54fa2a:	8d 45 88             	lea    -0x78(%ebp),%eax
54fa2d:	ff 75 c0             	push   -0x40(%ebp)
54fa30:	50                   	push   %eax
54fa31:	e8 ba 04 01 00       	call   0x55fef0
54fa36:	8b f8                	mov    %eax,%edi
54fa38:	83 c4 14             	add    $0x14,%esp
54fa3b:	85 ff                	test   %edi,%edi
54fa3d:	0f 85 35 01 00 00    	jne    0x54fb78
54fa43:	8b 45 ac             	mov    -0x54(%ebp),%eax
54fa46:	8b 4d d8             	mov    -0x28(%ebp),%ecx
54fa49:	99                   	cltd
54fa4a:	03 d8                	add    %eax,%ebx
54fa4c:	89 5d cc             	mov    %ebx,-0x34(%ebp)
54fa4f:	13 ca                	adc    %edx,%ecx
54fa51:	ff 45 c4             	incl   -0x3c(%ebp)
54fa54:	8b 55 a8             	mov    -0x58(%ebp),%edx
54fa57:	89 4d d8             	mov    %ecx,-0x28(%ebp)
54fa5a:	3b 4d d0             	cmp    -0x30(%ebp),%ecx
54fa5d:	0f 8c 29 ff ff ff    	jl     0x54f98c
54fa63:	7f 09                	jg     0x54fa6e
54fa65:	3b 5d d4             	cmp    -0x2c(%ebp),%ebx
54fa68:	0f 82 1e ff ff ff    	jb     0x54f98c
54fa6e:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
54fa72:	74 13                	je     0x54fa87
54fa74:	8b 4d a0             	mov    -0x60(%ebp),%ecx
54fa77:	ff 75 1c             	push   0x1c(%ebp)
54fa7a:	51                   	push   %ecx
54fa7b:	8b 01                	mov    (%ecx),%eax
54fa7d:	8b 40 14             	mov    0x14(%eax),%eax
54fa80:	ff d0                	call   *%eax
54fa82:	83 c4 08             	add    $0x8,%esp
54fa85:	8b f8                	mov    %eax,%edi
54fa87:	80 7e 2f 00          	cmpb   $0x0,0x2f(%esi)
54fa8b:	74 49                	je     0x54fad6
54fa8d:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
54fa91:	8b 5e 10             	mov    0x10(%esi),%ebx
54fa94:	7c 40                	jl     0x54fad6
54fa96:	7f 04                	jg     0x54fa9c
54fa98:	85 db                	test   %ebx,%ebx
54fa9a:	72 3a                	jb     0x54fad6
54fa9c:	ff 75 a4             	push   -0x5c(%ebp)
54fa9f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54faa2:	ff 75 b0             	push   -0x50(%ebp)
54faa5:	03 45 c8             	add    -0x38(%ebp),%eax
54faa8:	6a 00                	push   $0x0
54faaa:	50                   	push   %eax
54faab:	e8 50 20 09 00       	call   0x5e1b00
54fab0:	8b 4e 14             	mov    0x14(%esi),%ecx
54fab3:	83 c0 20             	add    $0x20,%eax
54fab6:	83 d2 00             	adc    $0x0,%edx
54fab9:	3b d1                	cmp    %ecx,%edx
54fabb:	7c 0a                	jl     0x54fac7
54fabd:	7f 04                	jg     0x54fac3
54fabf:	3b c3                	cmp    %ebx,%eax
54fac1:	76 04                	jbe    0x54fac7
54fac3:	8b d8                	mov    %eax,%ebx
54fac5:	8b ca                	mov    %edx,%ecx
54fac7:	51                   	push   %ecx
54fac8:	53                   	push   %ebx
54fac9:	56                   	push   %esi
54faca:	e8 51 fa 00 00       	call   0x55f520
54facf:	83 c4 0c             	add    $0xc,%esp
54fad2:	c6 46 2f 00          	movb   $0x0,0x2f(%esi)
54fad6:	8b 45 bc             	mov    -0x44(%ebp),%eax
54fad9:	8b 5e 44             	mov    0x44(%esi),%ebx
54fadc:	85 c0                	test   %eax,%eax
54fade:	74 2b                	je     0x54fb0b
54fae0:	85 ff                	test   %edi,%edi
54fae2:	0f 85 90 00 00 00    	jne    0x54fb78
54fae8:	f6 40 1c 40          	testb  $0x40,0x1c(%eax)
54faec:	74 13                	je     0x54fb01
54faee:	ff 70 18             	push   0x18(%eax)
54faf1:	43                   	inc    %ebx
54faf2:	53                   	push   %ebx
54faf3:	56                   	push   %esi
54faf4:	e8 b7 ec 00 00       	call   0x55e7b0
54faf9:	8b f8                	mov    %eax,%edi
54fafb:	83 c4 0c             	add    $0xc,%esp
54fafe:	8b 45 bc             	mov    -0x44(%ebp),%eax
54fb01:	8b 40 10             	mov    0x10(%eax),%eax
54fb04:	89 45 bc             	mov    %eax,-0x44(%ebp)
54fb07:	85 c0                	test   %eax,%eax
54fb09:	75 d5                	jne    0x54fae0
54fb0b:	85 ff                	test   %edi,%edi
54fb0d:	75 69                	jne    0x54fb78
54fb0f:	90                   	nop
54fb10:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54fb13:	85 c0                	test   %eax,%eax
54fb15:	7e 2c                	jle    0x54fb43
54fb17:	48                   	dec    %eax
54fb18:	43                   	inc    %ebx
54fb19:	89 45 c4             	mov    %eax,-0x3c(%ebp)
54fb1c:	8b 45 b8             	mov    -0x48(%ebp),%eax
54fb1f:	ff 70 18             	push   0x18(%eax)
54fb22:	53                   	push   %ebx
54fb23:	56                   	push   %esi
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