559af0:	b8 24 00 00 00       	mov    $0x24,%eax
559af5:	e8 b6 7c 07 00       	call   0x5d17b0
559afa:	8b 4c 24 30          	mov    0x30(%esp),%ecx
559afe:	0f 57 c0             	xorps  %xmm0,%xmm0
559b01:	8b 44 24 28          	mov    0x28(%esp),%eax
559b05:	89 44 24 04          	mov    %eax,0x4(%esp)
559b09:	66 0f 13 44 24 08    	movlpd %xmm0,0x8(%esp)
559b0f:	8b 01                	mov    (%ecx),%eax
559b11:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
559b17:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
559b1d:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
559b24:	00
559b25:	c7 04 24 05 00 00 00 	movl   $0x5,(%esp)
559b2c:	8b 40 08             	mov    0x8(%eax),%eax
559b2f:	85 c0                	test   %eax,%eax
559b31:	74 15                	je     0x559b48
559b33:	8d 14 24             	lea    (%esp),%edx
559b36:	52                   	push   %edx
559b37:	51                   	push   %ecx
559b38:	ff d0                	call   *%eax
559b3a:	83 c4 08             	add    $0x8,%esp
559b3d:	85 c0                	test   %eax,%eax
559b3f:	7f 07                	jg     0x559b48
559b41:	83 c8 ff             	or     $0xffffffff,%eax
559b44:	83 c4 24             	add    $0x24,%esp
559b47:	c3                   	ret
559b48:	33 c0                	xor    %eax,%eax
559b4a:	83 c4 24             	add    $0x24,%esp
559b4d:	c3                   	ret
559b4e:	cc                   	int3
559b4f:	cc                   	int3
559b50:	b8 08 00 00 00       	mov    $0x8,%eax
559b55:	e8 56 7c 07 00       	call   0x5d17b0
559b5a:	56                   	push   %esi
559b5b:	57                   	push   %edi
559b5c:	8d 44 24 08          	lea    0x8(%esp),%eax
559b60:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
559b67:	00
559b68:	50                   	push   %eax
559b69:	ff 74 24 20          	push   0x20(%esp)
559b6d:	33 f6                	xor    %esi,%esi
559b6f:	e8 ac 00 00 00       	call   0x559c20
559b74:	8b 7c 24 10          	mov    0x10(%esp),%edi
559b78:	8b c8                	mov    %eax,%ecx
559b7a:	83 c4 08             	add    $0x8,%esp
559b7d:	85 c9                	test   %ecx,%ecx
559b7f:	78 1a                	js     0x559b9b
559b81:	8b 47 04             	mov    0x4(%edi),%eax
559b84:	89 44 24 0c          	mov    %eax,0xc(%esp)
559b88:	8d 44 24 0c          	lea    0xc(%esp),%eax
559b8c:	51                   	push   %ecx
559b8d:	50                   	push   %eax
559b8e:	ff 74 24 28          	push   0x28(%esp)
559b92:	ff 54 24 24          	call   *0x24(%esp)
559b96:	83 c4 0c             	add    $0xc,%esp
559b99:	8b f0                	mov    %eax,%esi
559b9b:	57                   	push   %edi
559b9c:	e8 ef 19 fb ff       	call   0x50b590
559ba1:	83 c4 04             	add    $0x4,%esp
559ba4:	8b c6                	mov    %esi,%eax
559ba6:	5f                   	pop    %edi
559ba7:	5e                   	pop    %esi
559ba8:	83 c4 08             	add    $0x8,%esp
559bab:	c3                   	ret
559bac:	cc                   	int3
559bad:	cc                   	int3
559bae:	cc                   	int3
559baf:	cc                   	int3
559bb0:	b8 08 00 00 00       	mov    $0x8,%eax
559bb5:	e8 f6 7b 07 00       	call   0x5d17b0
559bba:	56                   	push   %esi
559bbb:	57                   	push   %edi
559bbc:	8d 44 24 08          	lea    0x8(%esp),%eax
559bc0:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
559bc7:	00
559bc8:	50                   	push   %eax
559bc9:	ff 74 24 1c          	push   0x1c(%esp)
559bcd:	33 f6                	xor    %esi,%esi
559bcf:	e8 4c 00 00 00       	call   0x559c20
559bd4:	8b 7c 24 10          	mov    0x10(%esp),%edi
559bd8:	8b c8                	mov    %eax,%ecx
559bda:	83 c4 08             	add    $0x8,%esp
559bdd:	85 c9                	test   %ecx,%ecx
559bdf:	78 1f                	js     0x559c00
559be1:	ff 74 24 14          	push   0x14(%esp)
559be5:	8b 47 04             	mov    0x4(%edi),%eax
559be8:	89 44 24 10          	mov    %eax,0x10(%esp)
559bec:	8d 44 24 10          	lea    0x10(%esp),%eax
559bf0:	51                   	push   %ecx
559bf1:	50                   	push   %eax
559bf2:	ff 74 24 28          	push   0x28(%esp)
559bf6:	e8 55 2a f9 ff       	call   0x4ec650
559bfb:	83 c4 10             	add    $0x10,%esp
559bfe:	8b f0                	mov    %eax,%esi
559c00:	57                   	push   %edi
559c01:	e8 8a 19 fb ff       	call   0x50b590
559c06:	83 c4 04             	add    $0x4,%esp
559c09:	8b c6                	mov    %esi,%eax
559c0b:	5f                   	pop    %edi
559c0c:	5e                   	pop    %esi
559c0d:	83 c4 08             	add    $0x8,%esp
559c10:	c3                   	ret
559c11:	cc                   	int3
559c12:	cc                   	int3
559c13:	cc                   	int3
559c14:	cc                   	int3
559c15:	cc                   	int3
559c16:	cc                   	int3
559c17:	cc                   	int3
559c18:	cc                   	int3
559c19:	cc                   	int3
559c1a:	cc                   	int3
559c1b:	cc                   	int3
559c1c:	cc                   	int3
559c1d:	cc                   	int3
559c1e:	cc                   	int3
559c1f:	cc                   	int3
559c20:	b8 20 00 00 00       	mov    $0x20,%eax
559c25:	e8 86 7b 07 00       	call   0x5d17b0
559c2a:	53                   	push   %ebx
559c2b:	56                   	push   %esi
559c2c:	57                   	push   %edi
559c2d:	33 f6                	xor    %esi,%esi
559c2f:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
559c36:	00
559c37:	89 74 24 10          	mov    %esi,0x10(%esp)
559c3b:	33 ff                	xor    %edi,%edi
559c3d:	e8 7e 1b fb ff       	call   0x50b7c0
559c42:	8b d8                	mov    %eax,%ebx
559c44:	89 5c 24 14          	mov    %ebx,0x14(%esp)
559c48:	85 db                	test   %ebx,%ebx
559c4a:	75 1f                	jne    0x559c6b
559c4c:	6a 6e                	push   $0x6e
559c4e:	68 5c f5 64 00       	push   $0x64f55c
559c53:	6a 41                	push   $0x41
559c55:	6a 6b                	push   $0x6b
559c57:	6a 0d                	push   $0xd
559c59:	e8 22 f3 f7 ff       	call   0x4d8f80
559c5e:	83 c4 14             	add    $0x14,%esp
559c61:	83 c8 ff             	or     $0xffffffff,%eax
559c64:	5f                   	pop    %edi
559c65:	5e                   	pop    %esi
559c66:	5b                   	pop    %ebx
559c67:	83 c4 20             	add    $0x20,%esp
559c6a:	c3                   	ret
559c6b:	e8 50 eb f7 ff       	call   0x4d87c0
559c70:	55                   	push   %ebp
559c71:	8b ef                	mov    %edi,%ebp
559c73:	2b ee                	sub    %esi,%ebp
559c75:	83 fd 08             	cmp    $0x8,%ebp
559c78:	77 55                	ja     0x559ccf
559c7a:	2b f7                	sub    %edi,%esi
559c7c:	83 c6 08             	add    $0x8,%esi
559c7f:	8d 04 37             	lea    (%edi,%esi,1),%eax
559c82:	3b c7                	cmp    %edi,%eax
559c84:	0f 82 bb 01 00 00    	jb     0x559e45
559c8a:	50                   	push   %eax
559c8b:	53                   	push   %ebx
559c8c:	e8 2f 1a fb ff       	call   0x50b6c0
559c91:	83 c4 08             	add    $0x8,%esp
559c94:	85 c0                	test   %eax,%eax
559c96:	0f 84 a9 01 00 00    	je     0x559e45
559c9c:	8b 43 04             	mov    0x4(%ebx),%eax
559c9f:	56                   	push   %esi
559ca0:	03 c7                	add    %edi,%eax
559ca2:	50                   	push   %eax
559ca3:	ff 74 24 3c          	push   0x3c(%esp)
559ca7:	e8 94 f7 f9 ff       	call   0x4f9440
559cac:	83 c4 0c             	add    $0xc,%esp
559caf:	85 c0                	test   %eax,%eax
559cb1:	79 0a                	jns    0x559cbd
559cb3:	85 ed                	test   %ebp,%ebp
559cb5:	0f 84 75 01 00 00    	je     0x559e30
559cbb:	85 c0                	test   %eax,%eax
559cbd:	7e 0c                	jle    0x559ccb
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