5558b9:	89 4c 24 28          	mov    %ecx,0x28(%esp)
5558bd:	42                   	inc    %edx
5558be:	3b f2                	cmp    %edx,%esi
5558c0:	7f c2                	jg     0x555884
5558c2:	8b 93 c8 01 00 00    	mov    0x1c8(%ebx),%edx
5558c8:	0f b7 12             	movzwl (%edx),%edx
5558cb:	0f af 54 24 2c       	imul   0x2c(%esp),%edx
5558d0:	c1 ea 03             	shr    $0x3,%edx
5558d3:	89 54 24 2c          	mov    %edx,0x2c(%esp)
5558d7:	8b 8b c8 01 00 00    	mov    0x1c8(%ebx),%ecx
5558dd:	0f b7 11             	movzwl (%ecx),%edx
5558e0:	0f af 54 24 28       	imul   0x28(%esp),%edx
5558e5:	c1 ea 03             	shr    $0x3,%edx
5558e8:	89 54 24 28          	mov    %edx,0x28(%esp)
5558ec:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5558f0:	81 f9 c0 ff 3f 00    	cmp    $0x3fffc0,%ecx
5558f6:	76 0a                	jbe    0x555902
5558f8:	c7 44 24 1c ff ff ff 	movl   $0x7fffffff,0x1c(%esp)
5558ff:	7f
555900:	eb 11                	jmp    0x555913
555902:	8b 54 24 28          	mov    0x28(%esp),%edx
555906:	c1 e2 0a             	shl    $0xa,%edx
555909:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
55590d:	03 d1                	add    %ecx,%edx
55590f:	89 54 24 1c          	mov    %edx,0x1c(%esp)
555913:	8b 54 24 1c          	mov    0x1c(%esp),%edx
555917:	89 54 24 10          	mov    %edx,0x10(%esp)
55591b:	8a 4c 24 14          	mov    0x14(%esp),%cl
55591f:	80 f9 10             	cmp    $0x10,%cl
555922:	0f 85 91 00 00 00    	jne    0x5559b9
555928:	33 d2                	xor    %edx,%edx
55592a:	89 54 24 3c          	mov    %edx,0x3c(%esp)
55592e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
555932:	41                   	inc    %ecx
555933:	89 4c 24 30          	mov    %ecx,0x30(%esp)
555937:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
55593d:	42                   	inc    %edx
55593e:	89 54 24 38          	mov    %edx,0x38(%esp)
555942:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
555946:	3b c1                	cmp    %ecx,%eax
555948:	76 20                	jbe    0x55596a
55594a:	8b 54 24 30          	mov    0x30(%esp),%edx
55594e:	8a 0a                	mov    (%edx),%cl
555950:	8b 54 24 38          	mov    0x38(%esp),%edx
555954:	88 0a                	mov    %cl,(%edx)
555956:	ff 44 24 3c          	incl   0x3c(%esp)
55595a:	ff 44 24 30          	incl   0x30(%esp)
55595e:	ff 44 24 38          	incl   0x38(%esp)
555962:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
555966:	3b c1                	cmp    %ecx,%eax
555968:	77 e0                	ja     0x55594a
55596a:	8b 54 24 0c          	mov    0xc(%esp),%edx
55596e:	42                   	inc    %edx
55596f:	89 54 24 34          	mov    %edx,0x34(%esp)
555973:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
555977:	3b e9                	cmp    %ecx,%ebp
555979:	76 2f                	jbe    0x5559aa
55597b:	8b 54 24 30          	mov    0x30(%esp),%edx
55597f:	8a 0a                	mov    (%edx),%cl
555981:	8b 54 24 34          	mov    0x34(%esp),%edx
555985:	8a 12                	mov    (%edx),%dl
555987:	2a ca                	sub    %dl,%cl
555989:	8b 54 24 38          	mov    0x38(%esp),%edx
55598d:	80 e1 ff             	and    $0xff,%cl
555990:	88 0a                	mov    %cl,(%edx)
555992:	ff 44 24 3c          	incl   0x3c(%esp)
555996:	ff 44 24 30          	incl   0x30(%esp)
55599a:	ff 44 24 34          	incl   0x34(%esp)
55599e:	ff 44 24 38          	incl   0x38(%esp)
5559a2:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
5559a6:	3b e9                	cmp    %ecx,%ebp
5559a8:	77 d1                	ja     0x55597b
5559aa:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
5559b0:	89 54 24 08          	mov    %edx,0x8(%esp)
5559b4:	e9 83 02 00 00       	jmp    0x555c3c
5559b9:	f6 44 24 14 10       	testb  $0x10,0x14(%esp)
5559be:	0f 84 78 02 00 00    	je     0x555c3c
5559c4:	33 d2                	xor    %edx,%edx
5559c6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5559ca:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
5559ce:	8a 8b b8 01 00 00    	mov    0x1b8(%ebx),%cl
5559d4:	80 f9 02             	cmp    $0x2,%cl
5559d7:	0f 85 d2 00 00 00    	jne    0x555aaf
5559dd:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
5559e1:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
5559e7:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
5559eb:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
5559ef:	c1 e9 0a             	shr    $0xa,%ecx
5559f2:	81 e1 c0 ff 3f 00    	and    $0x3fffc0,%ecx
5559f8:	89 4c 24 58          	mov    %ecx,0x58(%esp)
5559fc:	33 c9                	xor    %ecx,%ecx
5559fe:	89 4c 24 54          	mov    %ecx,0x54(%esp)
555a02:	8b 4c 24 54          	mov    0x54(%esp),%ecx
555a06:	3b f1                	cmp    %ecx,%esi
555a08:	7e 52                	jle    0x555a5c
555a0a:	8b 8b bc 01 00 00    	mov    0x1bc(%ebx),%ecx
555a10:	8b 7c 24 54          	mov    0x54(%esp),%edi
555a14:	8a 0c 39             	mov    (%ecx,%edi,1),%cl
555a17:	80 f9 01             	cmp    $0x1,%cl
555a1a:	75 34                	jne    0x555a50
555a1c:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555a22:	8b 7c 24 54          	mov    0x54(%esp),%edi
555a26:	0f b7 0c 79          	movzwl (%ecx,%edi,2),%ecx
555a2a:	0f af 4c 24 5c       	imul   0x5c(%esp),%ecx
555a2f:	c1 e9 08             	shr    $0x8,%ecx
555a32:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
555a36:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555a3c:	8b 7c 24 54          	mov    0x54(%esp),%edi
555a40:	0f b7 0c 79          	movzwl (%ecx,%edi,2),%ecx
555a44:	0f af 4c 24 58       	imul   0x58(%esp),%ecx
555a49:	c1 e9 08             	shr    $0x8,%ecx
555a4c:	89 4c 24 58          	mov    %ecx,0x58(%esp)
555a50:	ff 44 24 54          	incl   0x54(%esp)
555a54:	8b 4c 24 54          	mov    0x54(%esp),%ecx
555a58:	3b f1                	cmp    %ecx,%esi
555a5a:	7f ae                	jg     0x555a0a
555a5c:	8b 8b cc 01 00 00    	mov    0x1cc(%ebx),%ecx
555a62:	0f b7 49 02          	movzwl 0x2(%ecx),%ecx
555a66:	0f af 4c 24 5c       	imul   0x5c(%esp),%ecx
555a6b:	c1 e9 03             	shr    $0x3,%ecx
555a6e:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
555a72:	8b 8b cc 01 00 00    	mov    0x1cc(%ebx),%ecx
555a78:	0f b7 49 02          	movzwl 0x2(%ecx),%ecx
555a7c:	0f af 4c 24 58       	imul   0x58(%esp),%ecx
555a81:	c1 e9 03             	shr    $0x3,%ecx
555a84:	89 4c 24 58          	mov    %ecx,0x58(%esp)
555a88:	8b 4c 24 58          	mov    0x58(%esp),%ecx
555a8c:	81 f9 c0 ff 3f 00    	cmp    $0x3fffc0,%ecx
555a92:	76 0a                	jbe    0x555a9e
555a94:	c7 44 24 4c ff ff ff 	movl   $0x7fffffff,0x4c(%esp)
555a9b:	7f
555a9c:	eb 11                	jmp    0x555aaf
555a9e:	8b 4c 24 58          	mov    0x58(%esp),%ecx
555aa2:	c1 e1 0a             	shl    $0xa,%ecx
555aa5:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
555aa9:	03 cf                	add    %edi,%ecx
555aab:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
555aaf:	33 c9                	xor    %ecx,%ecx
555ab1:	89 4c 24 50          	mov    %ecx,0x50(%esp)
555ab5:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
555ab9:	41                   	inc    %ecx
555aba:	89 4c 24 40          	mov    %ecx,0x40(%esp)
555abe:	8b 8b b0 00 00 00    	mov    0xb0(%ebx),%ecx
555ac4:	41                   	inc    %ecx
555ac5:	89 4c 24 44          	mov    %ecx,0x44(%esp)
555ac9:	8b 4c 24 50          	mov    0x50(%esp),%ecx
555acd:	3b c1                	cmp    %ecx,%eax
555acf:	76 3b                	jbe    0x555b0c
555ad1:	8b 4c 24 40          	mov    0x40(%esp),%ecx
555ad5:	8b 7c 24 44          	mov    0x44(%esp),%edi
555ad9:	8a 09                	mov    (%ecx),%cl
555adb:	88 0f                	mov    %cl,(%edi)
555add:	81 e1 ff 00 00 00    	and    $0xff,%ecx
555ae3:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
555ae9:	7d 04                	jge    0x555aef
555aeb:	8b f9                	mov    %ecx,%edi
555aed:	eb 07                	jmp    0x555af6
555aef:	bf 00 01 00 00       	mov    $0x100,%edi
555af4:	2b f9                	sub    %ecx,%edi
555af6:	03 d7                	add    %edi,%edx
555af8:	ff 44 24 50          	incl   0x50(%esp)
555afc:	ff 44 24 40          	incl   0x40(%esp)
555b00:	ff 44 24 44          	incl   0x44(%esp)
555b04:	8b 4c 24 50          	mov    0x50(%esp),%ecx
555b08:	3b c1                	cmp    %ecx,%eax
555b0a:	77 c5                	ja     0x555ad1
555b0c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
555b10:	41                   	inc    %ecx
555b11:	89 4c 24 48          	mov    %ecx,0x48(%esp)
555b15:	eb 48                	jmp    0x555b5f
555b17:	8b 4c 24 40          	mov    0x40(%esp),%ecx
555b1b:	8b 7c 24 48          	mov    0x48(%esp),%edi
555b1f:	8a 09                	mov    (%ecx),%cl
555b21:	2a 0f                	sub    (%edi),%cl
555b23:	8b 7c 24 44          	mov    0x44(%esp),%edi
555b27:	80 e1 ff             	and    $0xff,%cl
555b2a:	88 0f                	mov    %cl,(%edi)
555b2c:	81 e1 ff 00 00 00    	and    $0xff,%ecx
555b32:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
555b38:	7d 04                	jge    0x555b3e
555b3a:	8b f9                	mov    %ecx,%edi
555b3c:	eb 07                	jmp    0x555b45
555b3e:	bf 00 01 00 00       	mov    $0x100,%edi
555b43:	2b f9                	sub    %ecx,%edi
555b45:	03 d7                	add    %edi,%edx
555b47:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
555b4b:	3b d1                	cmp    %ecx,%edx
555b4d:	77 1e                	ja     0x555b6d
555b4f:	ff 44 24 50          	incl   0x50(%esp)
555b53:	ff 44 24 40          	incl   0x40(%esp)
555b57:	ff 44 24 48          	incl   0x48(%esp)
555b5b:	ff 44 24 44          	incl   0x44(%esp)
555b5f:	8b 0c 24             	mov    (%esp),%ecx
555b62:	8b 49 04             	mov    0x4(%ecx),%ecx
555b65:	8b 7c 24 50          	mov    0x50(%esp),%edi
555b69:	3b cf                	cmp    %edi,%ecx
555b6b:	77 aa                	ja     0x555b17
555b6d:	8a 8b b8 01 00 00    	mov    0x1b8(%ebx),%cl
555b73:	80 f9 02             	cmp    $0x2,%cl
555b76:	0f 85 aa 00 00 00    	jne    0x555c26
555b7c:	8b ca                	mov    %edx,%ecx
555b7e:	c1 ea 0a             	shr    $0xa,%edx
555b81:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
555b87:	81 e2 c0 ff 3f 00    	and    $0x3fffc0,%edx
555b8d:	89 4c 24 64          	mov    %ecx,0x64(%esp)
555b91:	89 54 24 60          	mov    %edx,0x60(%esp)
555b95:	33 d2                	xor    %edx,%edx
555b97:	3b f2                	cmp    %edx,%esi
555b99:	7e 3f                	jle    0x555bda
555b9b:	8b 8b bc 01 00 00    	mov    0x1bc(%ebx),%ecx
555ba1:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
555ba4:	80 f9 01             	cmp    $0x1,%cl
555ba7:	75 2c                	jne    0x555bd5
555ba9:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555baf:	0f b7 0c 51          	movzwl (%ecx,%edx,2),%ecx
555bb3:	0f af 4c 24 64       	imul   0x64(%esp),%ecx
555bb8:	c1 e9 08             	shr    $0x8,%ecx
555bbb:	89 4c 24 64          	mov    %ecx,0x64(%esp)
555bbf:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555bc5:	0f b7 0c 51          	movzwl (%ecx,%edx,2),%ecx
555bc9:	0f af 4c 24 60       	imul   0x60(%esp),%ecx
555bce:	c1 e9 08             	shr    $0x8,%ecx
555bd1:	89 4c 24 60          	mov    %ecx,0x60(%esp)
555bd5:	42                   	inc    %edx
555bd6:	3b f2                	cmp    %edx,%esi
555bd8:	7f c1                	jg     0x555b9b
555bda:	8b 93 cc 01 00 00    	mov    0x1cc(%ebx),%edx
555be0:	0f b7 52 02          	movzwl 0x2(%edx),%edx
555be4:	0f af 54 24 64       	imul   0x64(%esp),%edx
555be9:	c1 ea 03             	shr    $0x3,%edx
555bec:	89 54 24 64          	mov    %edx,0x64(%esp)
555bf0:	8b 8b cc 01 00 00    	mov    0x1cc(%ebx),%ecx
555bf6:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
555bfa:	0f af 54 24 60       	imul   0x60(%esp),%edx
555bff:	c1 ea 03             	shr    $0x3,%edx
555c02:	89 54 24 60          	mov    %edx,0x60(%esp)
555c06:	8b 4c 24 60          	mov    0x60(%esp),%ecx
555c0a:	81 f9 c0 ff 3f 00    	cmp    $0x3fffc0,%ecx
555c10:	76 07                	jbe    0x555c19
555c12:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
555c17:	eb 0d                	jmp    0x555c26
555c19:	8b 54 24 60          	mov    0x60(%esp),%edx
555c1d:	c1 e2 0a             	shl    $0xa,%edx
555c20:	8b 4c 24 64          	mov    0x64(%esp),%ecx
555c24:	03 d1                	add    %ecx,%edx
555c26:	8b 4c 24 10          	mov    0x10(%esp),%ecx
555c2a:	3b d1                	cmp    %ecx,%edx
555c2c:	73 0e                	jae    0x555c3c
555c2e:	89 54 24 10          	mov    %edx,0x10(%esp)
555c32:	8b 93 b0 00 00 00    	mov    0xb0(%ebx),%edx
555c38:	89 54 24 08          	mov    %edx,0x8(%esp)
555c3c:	8a 54 24 14          	mov    0x14(%esp),%dl
555c40:	80 fa 20             	cmp    $0x20,%dl
555c43:	75 69                	jne    0x555cae
555c45:	33 c9                	xor    %ecx,%ecx
555c47:	89 4c 24 74          	mov    %ecx,0x74(%esp)
555c4b:	8b 54 24 0c          	mov    0xc(%esp),%edx
555c4f:	42                   	inc    %edx
555c50:	89 54 24 68          	mov    %edx,0x68(%esp)
555c54:	8b 8b b4 00 00 00    	mov    0xb4(%ebx),%ecx
555c5a:	41                   	inc    %ecx
555c5b:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
555c5f:	8b 54 24 04          	mov    0x4(%esp),%edx
555c63:	42                   	inc    %edx
555c64:	89 54 24 70          	mov    %edx,0x70(%esp)
555c68:	8b 4c 24 74          	mov    0x74(%esp),%ecx
555c6c:	3b e9                	cmp    %ecx,%ebp
555c6e:	76 2f                	jbe    0x555c9f
555c70:	8b 54 24 68          	mov    0x68(%esp),%edx
555c74:	8a 0a                	mov    (%edx),%cl
555c76:	8b 54 24 70          	mov    0x70(%esp),%edx
555c7a:	8a 12                	mov    (%edx),%dl
555c7c:	2a ca                	sub    %dl,%cl
555c7e:	8b 54 24 6c          	mov    0x6c(%esp),%edx
555c82:	80 e1 ff             	and    $0xff,%cl
555c85:	88 0a                	mov    %cl,(%edx)
555c87:	ff 44 24 74          	incl   0x74(%esp)
555c8b:	ff 44 24 68          	incl   0x68(%esp)
555c8f:	ff 44 24 70          	incl   0x70(%esp)
555c93:	ff 44 24 6c          	incl   0x6c(%esp)
555c97:	8b 4c 24 74          	mov    0x74(%esp),%ecx
555c9b:	3b e9                	cmp    %ecx,%ebp
555c9d:	77 d1                	ja     0x555c70
555c9f:	8b 93 b4 00 00 00    	mov    0xb4(%ebx),%edx
555ca5:	89 54 24 08          	mov    %edx,0x8(%esp)
555ca9:	e9 f8 02 00 00       	jmp    0x555fa6
555cae:	f6 44 24 14 20       	testb  $0x20,0x14(%esp)
555cb3:	0f 84 ed 02 00 00    	je     0x555fa6
555cb9:	33 c9                	xor    %ecx,%ecx
555cbb:	89 8c 24 84 00 00 00 	mov    %ecx,0x84(%esp)
555cc2:	8b 54 24 10          	mov    0x10(%esp),%edx
555cc6:	89 94 24 88 00 00 00 	mov    %edx,0x88(%esp)
555ccd:	8a 8b b8 01 00 00    	mov    0x1b8(%ebx),%cl
555cd3:	80 f9 02             	cmp    $0x2,%cl
555cd6:	0f 85 ea 00 00 00    	jne    0x555dc6
555cdc:	8b 94 24 88 00 00 00 	mov    0x88(%esp),%edx
555ce3:	81 e2 ff ff 00 00    	and    $0xffff,%edx
555ce9:	89 94 24 98 00 00 00 	mov    %edx,0x98(%esp)
555cf0:	33 d2                	xor    %edx,%edx
555cf2:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
555cf9:	c1 e9 0a             	shr    $0xa,%ecx
555cfc:	81 e1 c0 ff 3f 00    	and    $0x3fffc0,%ecx
555d02:	3b f2                	cmp    %edx,%esi
555d04:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
555d0b:	7e 4b                	jle    0x555d58
555d0d:	8b 8b bc 01 00 00    	mov    0x1bc(%ebx),%ecx
555d13:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
555d16:	80 f9 02             	cmp    $0x2,%cl
555d19:	75 38                	jne    0x555d53
555d1b:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555d21:	0f b7 0c 51          	movzwl (%ecx,%edx,2),%ecx
555d25:	0f af 8c 24 98 00 00 	imul   0x98(%esp),%ecx
555d2c:	00
555d2d:	c1 e9 08             	shr    $0x8,%ecx
555d30:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%esp)
555d37:	8b 8b c4 01 00 00    	mov    0x1c4(%ebx),%ecx
555d3d:	0f b7 0c 51          	movzwl (%ecx,%edx,2),%ecx
555d41:	0f af 8c 24 94 00 00 	imul   0x94(%esp),%ecx
555d48:	00
555d49:	c1 e9 08             	shr    $0x8,%ecx
555d4c:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
555d53:	42                   	inc    %edx
555d54:	3b f2                	cmp    %edx,%esi
555d56:	7f b5                	jg     0x555d0d
555d58:	8b 93 cc 01 00 00    	mov    0x1cc(%ebx),%edx
555d5e:	0f b7 52 04          	movzwl 0x4(%edx),%edx
555d62:	0f af 94 24 98 00 00 	imul   0x98(%esp),%edx
555d69:	00
555d6a:	c1 ea 03             	shr    $0x3,%edx
555d6d:	89 94 24 98 00 00 00 	mov    %edx,0x98(%esp)
555d74:	8b 8b cc 01 00 00    	mov    0x1cc(%ebx),%ecx
555d7a:	0f b7 51 04          	movzwl 0x4(%ecx),%edx
555d7e:	0f af 94 24 94 00 00 	imul   0x94(%esp),%edx
555d85:	00
555d86:	c1 ea 03             	shr    $0x3,%edx
555d89:	89 94 24 94 00 00 00 	mov    %edx,0x94(%esp)
555d90:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
555d97:	81 f9 c0 ff 3f 00    	cmp    $0x3fffc0,%ecx
555d9d:	76 0d                	jbe    0x555dac
555d9f:	c7 84 24 88 00 00 00 	movl   $0x7fffffff,0x88(%esp)
555da6:	ff ff ff 7f
555daa:	eb 1a                	jmp    0x555dc6
555dac:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
555db3:	c1 e2 0a             	shl    $0xa,%edx
555db6:	8b 8c 24 98 00 00 00 	mov    0x98(%esp),%ecx
555dbd:	03 d1                	add    %ecx,%edx
555dbf:	89 94 24 88 00 00 00 	mov    %edx,0x88(%esp)
555dc6:	33 d2                	xor    %edx,%edx
555dc8:	89 94 24 8c 00 00 00 	mov    %edx,0x8c(%esp)
555dcf:	8b 4c 24 0c          	mov    0xc(%esp),%ecx