559cbf:	03 c7                	add    %edi,%eax
559cc1:	3b c7                	cmp    %edi,%eax
559cc3:	0f 82 75 01 00 00    	jb     0x559e3e
559cc9:	8b f8                	mov    %eax,%edi
559ccb:	8b 74 24 14          	mov    0x14(%esp),%esi
559ccf:	8b 6b 04             	mov    0x4(%ebx),%ebp
559cd2:	8b c7                	mov    %edi,%eax
559cd4:	2b c6                	sub    %esi,%eax
559cd6:	03 ee                	add    %esi,%ebp
559cd8:	50                   	push   %eax
559cd9:	8d 44 24 30          	lea    0x30(%esp),%eax
559cdd:	89 6c 24 20          	mov    %ebp,0x20(%esp)
559ce1:	50                   	push   %eax
559ce2:	8d 44 24 30          	lea    0x30(%esp),%eax
559ce6:	50                   	push   %eax
559ce7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
559ceb:	50                   	push   %eax
559cec:	8d 44 24 2c          	lea    0x2c(%esp),%eax
559cf0:	50                   	push   %eax
559cf1:	e8 9a 06 fb ff       	call   0x50a390
559cf6:	83 c4 14             	add    $0x14,%esp
559cf9:	89 44 24 24          	mov    %eax,0x24(%esp)
559cfd:	84 c0                	test   %al,%al
559cff:	79 1a                	jns    0x559d1b
559d01:	e8 4a f1 f7 ff       	call   0x4d8e50
559d06:	25 ff 0f 00 00       	and    $0xfff,%eax
559d0b:	3d 9b 00 00 00       	cmp    $0x9b,%eax
559d10:	0f 85 99 01 00 00    	jne    0x559eaf
559d16:	e8 a5 ea f7 ff       	call   0x4d87c0
559d1b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
559d1f:	8b 54 24 10          	mov    0x10(%esp),%edx
559d23:	2b c5                	sub    %ebp,%eax
559d25:	03 f0                	add    %eax,%esi
559d27:	f6 44 24 24 01       	testb  $0x1,0x24(%esp)
559d2c:	89 74 24 14          	mov    %esi,0x14(%esp)
559d30:	74 13                	je     0x559d45
559d32:	83 fa ff             	cmp    $0xffffffff,%edx
559d35:	0f 84 15 01 00 00    	je     0x559e50
559d3b:	42                   	inc    %edx
559d3c:	89 54 24 10          	mov    %edx,0x10(%esp)
559d40:	e9 2c ff ff ff       	jmp    0x559c71
559d45:	8b 4c 24 20          	mov    0x20(%esp),%ecx
559d49:	85 d2                	test   %edx,%edx
559d4b:	74 2d                	je     0x559d7a
559d4d:	85 c9                	test   %ecx,%ecx
559d4f:	75 29                	jne    0x559d7a
559d51:	39 4c 24 28          	cmp    %ecx,0x28(%esp)
559d55:	75 23                	jne    0x559d7a
559d57:	83 ea 01             	sub    $0x1,%edx
559d5a:	89 54 24 10          	mov    %edx,0x10(%esp)
559d5e:	0f 85 0d ff ff ff    	jne    0x559c71
559d64:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
559d6a:	0f 86 14 01 00 00    	jbe    0x559e84
559d70:	68 e1 00 00 00       	push   $0xe1
559d75:	e9 1f 01 00 00       	jmp    0x559e99
559d7a:	8b c7                	mov    %edi,%eax
559d7c:	2b c6                	sub    %esi,%eax
559d7e:	3b c8                	cmp    %eax,%ecx
559d80:	0f 86 96 00 00 00    	jbe    0x559e1c
559d86:	8b d9                	mov    %ecx,%ebx
559d88:	bd 00 40 00 00       	mov    $0x4000,%ebp
559d8d:	2b df                	sub    %edi,%ebx
559d8f:	03 de                	add    %esi,%ebx
559d91:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
559d97:	0f 87 e0 00 00 00    	ja     0x559e7d
559d9d:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
559da0:	3b c7                	cmp    %edi,%eax
559da2:	0f 82 d5 00 00 00    	jb     0x559e7d
559da8:	85 db                	test   %ebx,%ebx
559daa:	74 6c                	je     0x559e18
559dac:	0f 1f 40 00          	nopl   0x0(%eax)
559db0:	3b dd                	cmp    %ebp,%ebx
559db2:	8b f3                	mov    %ebx,%esi
559db4:	0f 47 f5             	cmova  %ebp,%esi
559db7:	8d 04 3e             	lea    (%esi,%edi,1),%eax
559dba:	50                   	push   %eax
559dbb:	ff 74 24 1c          	push   0x1c(%esp)
559dbf:	e8 fc 18 fb ff       	call   0x50b6c0
559dc4:	83 c4 08             	add    $0x8,%esp
559dc7:	85 c0                	test   %eax,%eax
559dc9:	0f 84 a0 00 00 00    	je     0x559e6f
559dcf:	2b de                	sub    %esi,%ebx
559dd1:	85 f6                	test   %esi,%esi
559dd3:	74 21                	je     0x559df6
559dd5:	8b 44 24 18          	mov    0x18(%esp),%eax
559dd9:	56                   	push   %esi
559dda:	8b 40 04             	mov    0x4(%eax),%eax
559ddd:	03 c7                	add    %edi,%eax
559ddf:	50                   	push   %eax
559de0:	ff 74 24 3c          	push   0x3c(%esp)
559de4:	e8 57 f6 f9 ff       	call   0x4f9440
559de9:	83 c4 0c             	add    $0xc,%esp
559dec:	85 c0                	test   %eax,%eax
559dee:	7e 6e                	jle    0x559e5e
559df0:	03 f8                	add    %eax,%edi
559df2:	2b f0                	sub    %eax,%esi
559df4:	75 df                	jne    0x559dd5
559df6:	81 fd ff ff ff 3f    	cmp    $0x3fffffff,%ebp
559dfc:	8d 04 6d 00 00 00 00 	lea    0x0(,%ebp,2),%eax
559e03:	0f 43 c5             	cmovae %ebp,%eax
559e06:	8b e8                	mov    %eax,%ebp
559e08:	85 db                	test   %ebx,%ebx
559e0a:	75 a4                	jne    0x559db0
559e0c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
559e10:	8b 74 24 14          	mov    0x14(%esp),%esi
559e14:	8b 54 24 10          	mov    0x10(%esp),%edx
559e18:	8b 5c 24 18          	mov    0x18(%esp),%ebx
559e1c:	8d 04 31             	lea    (%ecx,%esi,1),%eax
559e1f:	3b c6                	cmp    %esi,%eax
559e21:	72 71                	jb     0x559e94
559e23:	8b f0                	mov    %eax,%esi
559e25:	85 d2                	test   %edx,%edx
559e27:	89 74 24 14          	mov    %esi,0x14(%esp)
559e2b:	e9 2e ff ff ff       	jmp    0x559d5e
559e30:	6a 7d                	push   $0x7d
559e32:	68 5c f5 64 00       	push   $0x64f55c
559e37:	68 8e 00 00 00       	push   $0x8e
559e3c:	eb 65                	jmp    0x559ea3
559e3e:	68 82 00 00 00       	push   $0x82
559e43:	eb 54                	jmp    0x559e99
559e45:	6a 78                	push   $0x78
559e47:	68 5c f5 64 00       	push   $0x64f55c
559e4c:	6a 41                	push   $0x41
559e4e:	eb 53                	jmp    0x559ea3
559e50:	68 9c 00 00 00       	push   $0x9c
559e55:	68 5c f5 64 00       	push   $0x64f55c
559e5a:	6a 7b                	push   $0x7b
559e5c:	eb 45                	jmp    0x559ea3
559e5e:	68 c6 00 00 00       	push   $0xc6
559e63:	68 5c f5 64 00       	push   $0x64f55c
559e68:	68 8e 00 00 00       	push   $0x8e
559e6d:	eb 34                	jmp    0x559ea3
559e6f:	68 be 00 00 00       	push   $0xbe
559e74:	68 5c f5 64 00       	push   $0x64f55c
559e79:	6a 41                	push   $0x41
559e7b:	eb 26                	jmp    0x559ea3
559e7d:	68 b1 00 00 00       	push   $0xb1
559e82:	eb 15                	jmp    0x559e99
559e84:	8b 4c 24 38          	mov    0x38(%esp),%ecx
559e88:	8b c6                	mov    %esi,%eax
559e8a:	5d                   	pop    %ebp
559e8b:	5f                   	pop    %edi
559e8c:	5e                   	pop    %esi
559e8d:	89 19                	mov    %ebx,(%ecx)
559e8f:	5b                   	pop    %ebx
559e90:	83 c4 20             	add    $0x20,%esp
559e93:	c3                   	ret
559e94:	68 d5 00 00 00       	push   $0xd5
559e99:	68 5c f5 64 00       	push   $0x64f55c
559e9e:	68 9b 00 00 00       	push   $0x9b
559ea3:	6a 6b                	push   $0x6b
559ea5:	6a 0d                	push   $0xd
559ea7:	e8 d4 f0 f7 ff       	call   0x4d8f80
559eac:	83 c4 14             	add    $0x14,%esp
559eaf:	ff 74 24 18          	push   0x18(%esp)
559eb3:	e8 d8 16 fb ff       	call   0x50b590
559eb8:	83 c4 04             	add    $0x4,%esp
559ebb:	83 c8 ff             	or     $0xffffffff,%eax
559ebe:	5d                   	pop    %ebp
559ebf:	5f                   	pop    %edi
559ec0:	5e                   	pop    %esi
559ec1:	5b                   	pop    %ebx
559ec2:	83 c4 20             	add    $0x20,%esp
559ec5:	c3                   	ret
559ec6:	cc                   	int3
559ec7:	cc                   	int3
559ec8:	cc                   	int3
559ec9:	cc                   	int3
559eca:	cc                   	int3
559ecb:	cc                   	int3
559ecc:	cc                   	int3
559ecd:	cc                   	int3
559ece:	cc                   	int3
559ecf:	cc                   	int3
559ed0:	56                   	push   %esi
559ed1:	8b 74 24 08          	mov    0x8(%esp),%esi
559ed5:	85 f6                	test   %esi,%esi
559ed7:	74 29                	je     0x559f02
559ed9:	8b 06                	mov    (%esi),%eax
559edb:	85 c0                	test   %eax,%eax
559edd:	74 23                	je     0x559f02
559edf:	ff b0 50 02 00 00    	push   0x250(%eax)
559ee5:	ff 15 14 21 60 00    	call   *0x602114
559eeb:	ff 36                	push   (%esi)
559eed:	e8 3b 60 08 00       	call   0x5dff2d
559ef2:	83 c4 04             	add    $0x4,%esp
559ef5:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
559efb:	b8 01 00 00 00       	mov    $0x1,%eax
559f00:	5e                   	pop    %esi
559f01:	c3                   	ret
559f02:	e8 81 0d 08 00       	call   0x5dac88
559f07:	5e                   	pop    %esi
559f08:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
559f0e:	33 c0                	xor    %eax,%eax
559f10:	c3                   	ret
559f11:	cc                   	int3
559f12:	cc                   	int3
559f13:	cc                   	int3
559f14:	cc                   	int3
559f15:	cc                   	int3
559f16:	cc                   	int3
559f17:	cc                   	int3
559f18:	cc                   	int3
559f19:	cc                   	int3
559f1a:	cc                   	int3
559f1b:	cc                   	int3
559f1c:	cc                   	int3
559f1d:	cc                   	int3
559f1e:	cc                   	int3
559f1f:	cc                   	int3
559f20:	55                   	push   %ebp
559f21:	8b ec                	mov    %esp,%ebp
559f23:	b8 10 00 00 00       	mov    $0x10,%eax
559f28:	e8 83 78 07 00       	call   0x5d17b0
559f2d:	a1 c0 14 69 00       	mov    0x6914c0,%eax
559f32:	33 c5                	xor    %ebp,%eax
559f34:	89 45 fc             	mov    %eax,-0x4(%ebp)
559f37:	53                   	push   %ebx
559f38:	56                   	push   %esi
559f39:	57                   	push   %edi
559f3a:	8b 7d 08             	mov    0x8(%ebp),%edi
559f3d:	85 ff                	test   %edi,%edi
559f3f:	0f 84 d6 01 00 00    	je     0x55a11b
559f45:	8b 5d 0c             	mov    0xc(%ebp),%ebx
559f48:	85 db                	test   %ebx,%ebx
559f4a:	0f 84 cb 01 00 00    	je     0x55a11b
559f50:	e8 33 0d 08 00       	call   0x5dac88
559f55:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
559f5b:	8b 07                	mov    (%edi),%eax
559f5d:	85 c0                	test   %eax,%eax
559f5f:	0f 85 3c 02 00 00    	jne    0x55a1a1
559f65:	8b f3                	mov    %ebx,%esi
559f67:	8d 4e 01             	lea    0x1(%esi),%ecx
559f6a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
559f70:	8a 06                	mov    (%esi),%al
559f72:	46                   	inc    %esi
559f73:	84 c0                	test   %al,%al
559f75:	75 f9                	jne    0x559f70
559f77:	2b f1                	sub    %ecx,%esi
559f79:	0f 84 15 02 00 00    	je     0x55a194
559f7f:	81 fe fc ff ff 7f    	cmp    $0x7ffffffc,%esi
559f85:	0f 87 09 02 00 00    	ja     0x55a194
559f8b:	68 54 03 00 00       	push   $0x354
559f90:	e8 5a a9 08 00       	call   0x5e48ef
559f95:	83 c4 04             	add    $0x4,%esp
559f98:	89 07                	mov    %eax,(%edi)
559f9a:	85 c0                	test   %eax,%eax
559f9c:	75 10                	jne    0x559fae
559f9e:	e8 e5 0c 08 00       	call   0x5dac88
559fa3:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
559fa9:	e9 78 01 00 00       	jmp    0x55a126
559fae:	68 54 03 00 00       	push   $0x354
559fb3:	6a 00                	push   $0x0
559fb5:	50                   	push   %eax
559fb6:	e8 b5 8c 07 00       	call   0x5d2c70
559fbb:	83 c4 0c             	add    $0xc,%esp
559fbe:	c7 45 f8 e9 fd 00 00 	movl   $0xfde9,-0x8(%ebp)
559fc5:	8d 5e 01             	lea    0x1(%esi),%ebx
559fc8:	6a 00                	push   $0x0
559fca:	6a 00                	push   $0x0
559fcc:	53                   	push   %ebx
559fcd:	ff 75 0c             	push   0xc(%ebp)
559fd0:	6a 00                	push   $0x0
559fd2:	68 e9 fd 00 00       	push   $0xfde9
559fd7:	ff 15 98 20 60 00    	call   *0x602098
559fdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
559fe0:	85 c0                	test   %eax,%eax
559fe2:	0f 8f fd 00 00 00    	jg     0x55a0e5
559fe8:	ff 15 58 21 60 00    	call   *0x602158
559fee:	3d 59 04 00 00       	cmp    $0x459,%eax
559ff3:	75 24                	jne    0x55a019
559ff5:	6a 00                	push   $0x0
559ff7:	6a 00                	push   $0x0
559ff9:	53                   	push   %ebx
559ffa:	ff 75 0c             	push   0xc(%ebp)
559ffd:	6a 00                	push   $0x0
559fff:	6a 00                	push   $0x0
55a001:	ff 15 98 20 60 00    	call   *0x602098
55a007:	89 45 f0             	mov    %eax,-0x10(%ebp)
55a00a:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
55a011:	85 c0                	test   %eax,%eax
55a013:	0f 8f cc 00 00 00    	jg     0x55a0e5
55a019:	8d 04 5d 04 00 00 00 	lea    0x4(,%ebx,2),%eax
55a020:	89 5d f0             	mov    %ebx,-0x10(%ebp)
55a023:	e8 48 72 07 00       	call   0x5d1270
55a028:	8b c4                	mov    %esp,%eax
55a02a:	33 c9                	xor    %ecx,%ecx
55a02c:	89 45 f8             	mov    %eax,-0x8(%ebp)
55a02f:	85 db                	test   %ebx,%ebx
55a031:	0f 84 05 01 00 00    	je     0x55a13c
55a037:	8b 55 0c             	mov    0xc(%ebp),%edx
55a03a:	83 fb 20             	cmp    $0x20,%ebx
55a03d:	0f 82 8f 00 00 00    	jb     0x55a0d2
55a043:	8d 04 70             	lea    (%eax,%esi,2),%eax
55a046:	89 45 f4             	mov    %eax,-0xc(%ebp)
55a049:	8d 04 16             	lea    (%esi,%edx,1),%eax
55a04c:	8b f4                	mov    %esp,%esi
55a04e:	3b f0                	cmp    %eax,%esi
55a050:	77 05                	ja     0x55a057
55a052:	39 55 f4             	cmp    %edx,-0xc(%ebp)
55a055:	73 7e                	jae    0x55a0d5
55a057:	8b c3                	mov    %ebx,%eax
55a059:	83 e0 e0             	and    $0xffffffe0,%eax
55a05c:	89 45 f4             	mov    %eax,-0xc(%ebp)
55a05f:	8d 42 10             	lea    0x10(%edx),%eax
55a062:	8d 56 20             	lea    0x20(%esi),%edx
55a065:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
55a06c:	00 00 00 00
55a070:	f3 0f 7e 40 f0       	movq   -0x10(%eax),%xmm0
55a075:	8d 52 40             	lea    0x40(%edx),%edx
55a078:	66 0f 60 c0          	punpcklbw %xmm0,%xmm0
55a07c:	8d 40 20             	lea    0x20(%eax),%eax
55a07f:	66 0f 71 e0 08       	psraw  $0x8,%xmm0
55a084:	83 c1 20             	add    $0x20,%ecx
55a087:	0f 11 42 a0          	movups %xmm0,-0x60(%edx)
55a08b:	f3 0f 7e 40 d8       	movq   -0x28(%eax),%xmm0
55a090:	66 0f 60 c0          	punpcklbw %xmm0,%xmm0
55a094:	66 0f 71 e0 08       	psraw  $0x8,%xmm0
55a099:	0f 11 42 b0          	movups %xmm0,-0x50(%edx)
55a09d:	f3 0f 7e 40 e0       	movq   -0x20(%eax),%xmm0
55a0a2:	66 0f 60 c0          	punpcklbw %xmm0,%xmm0
55a0a6:	66 0f 71 e0 08       	psraw  $0x8,%xmm0
55a0ab:	0f 11 42 c0          	movups %xmm0,-0x40(%edx)
55a0af:	f3 0f 7e 40 e8       	movq   -0x18(%eax),%xmm0
55a0b4:	66 0f 60 c0          	punpcklbw %xmm0,%xmm0
55a0b8:	66 0f 71 e0 08       	psraw  $0x8,%xmm0
55a0bd:	0f 11 42 d0          	movups %xmm0,-0x30(%edx)
55a0c1:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
55a0c4:	72 aa                	jb     0x55a070
55a0c6:	8b 55 0c             	mov    0xc(%ebp),%edx
55a0c9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
55a0cc:	3b cb                	cmp    %ebx,%ecx
55a0ce:	73 6f                	jae    0x55a13f
55a0d0:	eb 03                	jmp    0x55a0d5
55a0d2:	8b 75 f8             	mov    -0x8(%ebp),%esi
55a0d5:	66 0f be 04 11       	movsbw (%ecx,%edx,1),%ax
55a0da:	66 89 04 4e          	mov    %ax,(%esi,%ecx,2)
55a0de:	41                   	inc    %ecx
55a0df:	3b cb                	cmp    %ebx,%ecx
55a0e1:	72 f2                	jb     0x55a0d5
55a0e3:	eb 5a                	jmp    0x55a13f
55a0e5:	8d 04 45 04 00 00 00 	lea    0x4(,%eax,2),%eax
55a0ec:	e8 7f 71 07 00       	call   0x5d1270
55a0f1:	8b 45 f0             	mov    -0x10(%ebp),%eax
55a0f4:	8b f4                	mov    %esp,%esi
55a0f6:	50                   	push   %eax
55a0f7:	56                   	push   %esi
55a0f8:	53                   	push   %ebx
55a0f9:	ff 75 0c             	push   0xc(%ebp)
55a0fc:	6a 00                	push   $0x0