637b74:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637b78:	74 f6                	je     0x637b70
637b7a:	89 0a                	mov    %ecx,(%edx)
637b7c:	8b c2                	mov    %edx,%eax
637b7e:	c3                   	ret
637b7f:	8b 40 04             	mov    0x4(%eax),%eax
637b82:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637b86:	75 12                	jne    0x637b9a
637b88:	8b 0a                	mov    (%edx),%ecx
637b8a:	3b 48 08             	cmp    0x8(%eax),%ecx
637b8d:	75 0b                	jne    0x637b9a
637b8f:	89 02                	mov    %eax,(%edx)
637b91:	8b 40 04             	mov    0x4(%eax),%eax
637b94:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637b98:	74 ee                	je     0x637b88
637b9a:	89 02                	mov    %eax,(%edx)
637b9c:	8b c2                	mov    %edx,%eax
637b9e:	c3                   	ret
637b9f:	cc                   	int3
637ba0:	8b d1                	mov    %ecx,%edx
637ba2:	8b 02                	mov    (%edx),%eax
637ba4:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637ba8:	74 08                	je     0x637bb2
637baa:	8b 40 08             	mov    0x8(%eax),%eax
637bad:	89 02                	mov    %eax,(%edx)
637baf:	8b c2                	mov    %edx,%eax
637bb1:	c3                   	ret
637bb2:	8b 08                	mov    (%eax),%ecx
637bb4:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
637bb8:	75 19                	jne    0x637bd3
637bba:	8b 41 08             	mov    0x8(%ecx),%eax
637bbd:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637bc1:	75 36                	jne    0x637bf9
637bc3:	8b c8                	mov    %eax,%ecx
637bc5:	8b 41 08             	mov    0x8(%ecx),%eax
637bc8:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637bcc:	74 f5                	je     0x637bc3
637bce:	89 0a                	mov    %ecx,(%edx)
637bd0:	8b c2                	mov    %edx,%eax
637bd2:	c3                   	ret
637bd3:	8b 48 04             	mov    0x4(%eax),%ecx
637bd6:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
637bda:	75 15                	jne    0x637bf1
637bdc:	0f 1f 40 00          	nopl   0x0(%eax)
637be0:	8b 02                	mov    (%edx),%eax
637be2:	3b 01                	cmp    (%ecx),%eax
637be4:	75 0b                	jne    0x637bf1
637be6:	89 0a                	mov    %ecx,(%edx)
637be8:	8b 49 04             	mov    0x4(%ecx),%ecx
637beb:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
637bef:	74 ef                	je     0x637be0
637bf1:	8b 02                	mov    (%edx),%eax
637bf3:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
637bf7:	75 02                	jne    0x637bfb
637bf9:	89 0a                	mov    %ecx,(%edx)
637bfb:	8b c2                	mov    %edx,%eax
637bfd:	c3                   	ret
637bfe:	cc                   	int3
637bff:	cc                   	int3
637c00:	55                   	push   %ebp
637c01:	8b ec                	mov    %esp,%ebp
637c03:	6a ff                	push   $0xffffffff
637c05:	68 eb 3d 66 00       	push   $0x663deb
637c0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
637c10:	50                   	push   %eax
637c11:	81 ec 4c 01 00 00    	sub    $0x14c,%esp
637c17:	a1 d4 89 72 00       	mov    0x7289d4,%eax
637c1c:	33 c5                	xor    %ebp,%eax
637c1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
637c21:	53                   	push   %ebx
637c22:	56                   	push   %esi
637c23:	57                   	push   %edi
637c24:	50                   	push   %eax
637c25:	8d 45 f4             	lea    -0xc(%ebp),%eax
637c28:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
637c2e:	8b 7d 08             	mov    0x8(%ebp),%edi
637c31:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
637c37:	57                   	push   %edi
637c38:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
637c3e:	33 db                	xor    %ebx,%ebx
637c40:	c6 85 07 ff ff ff 00 	movb   $0x0,-0xf9(%ebp)
637c47:	e8 94 d3 00 00       	call   0x644fe0
637c4c:	8d 77 70             	lea    0x70(%edi),%esi
637c4f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
637c52:	8b ce                	mov    %esi,%ecx
637c54:	e8 57 a9 00 00       	call   0x6425b0
637c59:	38 98 59 01 00 00    	cmp    %bl,0x159(%eax)
637c5f:	74 31                	je     0x637c92
637c61:	8b ce                	mov    %esi,%ecx
637c63:	e8 48 a9 00 00       	call   0x6425b0
637c68:	39 58 64             	cmp    %ebx,0x64(%eax)
637c6b:	76 2d                	jbe    0x637c9a
637c6d:	8d 47 38             	lea    0x38(%edi),%eax
637c70:	8b f8                	mov    %eax,%edi
637c72:	8b cf                	mov    %edi,%ecx
637c74:	e8 27 cc 00 00       	call   0x6448a0
637c79:	8b ce                	mov    %esi,%ecx
637c7b:	83 c3 02             	add    $0x2,%ebx
637c7e:	e8 2d a9 00 00       	call   0x6425b0
637c83:	3b 58 64             	cmp    0x64(%eax),%ebx
637c86:	72 ea                	jb     0x637c72
637c88:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
637c8e:	33 db                	xor    %ebx,%ebx
637c90:	eb 08                	jmp    0x637c9a
637c92:	8d 4f 38             	lea    0x38(%edi),%ecx
637c95:	e8 56 cb 00 00       	call   0x6447f0
637c9a:	83 bf 60 05 00 00 03 	cmpl   $0x3,0x560(%edi)
637ca1:	0f 84 57 04 00 00    	je     0x6380fe
637ca7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
637cae:	00 00
637cb0:	83 bf 60 05 00 00 02 	cmpl   $0x2,0x560(%edi)
637cb7:	0f 84 41 04 00 00    	je     0x6380fe
637cbd:	80 bd 07 ff ff ff 00 	cmpb   $0x0,-0xf9(%ebp)
637cc4:	0f 85 34 04 00 00    	jne    0x6380fe
637cca:	43                   	inc    %ebx
637ccb:	33 c0                	xor    %eax,%eax
637ccd:	83 fb 64             	cmp    $0x64,%ebx
637cd0:	6a 0a                	push   $0xa
637cd2:	0f 44 d8             	cmove  %eax,%ebx
637cd5:	ff 15 d0 21 68 00    	call   *0x6821d0
637cdb:	b8 67 66 66 66       	mov    $0x66666667,%eax
637ce0:	f7 eb                	imul   %ebx
637ce2:	c1 fa 03             	sar    $0x3,%edx
637ce5:	8b c2                	mov    %edx,%eax
637ce7:	c1 e8 1f             	shr    $0x1f,%eax
637cea:	03 c2                	add    %edx,%eax
637cec:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
637cef:	8b c3                	mov    %ebx,%eax
637cf1:	c1 e1 02             	shl    $0x2,%ecx
637cf4:	2b c1                	sub    %ecx,%eax
637cf6:	75 25                	jne    0x637d1d
637cf8:	38 47 05             	cmp    %al,0x5(%edi)
637cfb:	74 20                	je     0x637d1d
637cfd:	0f 10 87 68 03 00 00 	movups 0x368(%edi),%xmm0
637d04:	6a 10                	push   $0x10
637d06:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
637d0c:	8b ce                	mov    %esi,%ecx
637d0e:	50                   	push   %eax
637d0f:	6a 08                	push   $0x8
637d11:	0f 11 85 d8 fe ff ff 	movups %xmm0,-0x128(%ebp)
637d18:	e8 13 94 00 00       	call   0x641130
637d1d:	83 fb 0a             	cmp    $0xa,%ebx
637d20:	75 09                	jne    0x637d2b
637d22:	57                   	push   %edi
637d23:	e8 88 18 00 00       	call   0x6395b0
637d28:	83 c4 04             	add    $0x4,%esp
637d2b:	83 bf 60 05 00 00 00 	cmpl   $0x0,0x560(%edi)
637d32:	75 14                	jne    0x637d48
637d34:	c7 87 60 05 00 00 01 	movl   $0x1,0x560(%edi)
637d3b:	00 00 00
637d3e:	c7 87 74 03 00 00 01 	movl   $0x1,0x374(%edi)
637d45:	00 00 00
637d48:	83 bf 60 05 00 00 01 	cmpl   $0x1,0x560(%edi)
637d4f:	75 0d                	jne    0x637d5e
637d51:	6a 64                	push   $0x64
637d53:	ff 15 d0 21 68 00    	call   *0x6821d0
637d59:	e9 93 03 00 00       	jmp    0x6380f1
637d5e:	83 bf 3c 05 00 00 00 	cmpl   $0x0,0x53c(%edi)
637d65:	0f 85 1d 03 00 00    	jne    0x638088
637d6b:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
637d71:	6a 00                	push   $0x0
637d73:	50                   	push   %eax
637d74:	e8 c7 00 01 00       	call   0x647e40
637d79:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
637d7f:	83 c4 08             	add    $0x8,%esp
637d82:	2b 87 58 05 00 00    	sub    0x558(%edi),%eax
637d88:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
637d8e:	2b b7 5c 05 00 00    	sub    0x55c(%edi),%esi
637d94:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
637d9a:	79 1e                	jns    0x637dba
637d9c:	83 c9 ff             	or     $0xffffffff,%ecx
637d9f:	b8 83 de 1b 43       	mov    $0x431bde83,%eax
637da4:	2b ce                	sub    %esi,%ecx
637da6:	f7 e1                	mul    %ecx
637da8:	c1 ea 12             	shr    $0x12,%edx
637dab:	42                   	inc    %edx
637dac:	29 95 00 ff ff ff    	sub    %edx,-0x100(%ebp)
637db2:	69 ca 40 42 0f 00    	imul   $0xf4240,%edx,%ecx
637db8:	03 f1                	add    %ecx,%esi
637dba:	6a 00                	push   $0x0
637dbc:	8b c6                	mov    %esi,%eax
637dbe:	99                   	cltd
637dbf:	68 e8 03 00 00       	push   $0x3e8
637dc4:	52                   	push   %edx
637dc5:	50                   	push   %eax
637dc6:	e8 75 9d fa ff       	call   0x5e1b40
637dcb:	8b ca                	mov    %edx,%ecx
637dcd:	8b f0                	mov    %eax,%esi
637dcf:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
637dd5:	ba e8 03 00 00       	mov    $0x3e8,%edx
637dda:	f7 ea                	imul   %edx
637ddc:	03 f0                	add    %eax,%esi
637dde:	13 d1                	adc    %ecx,%edx
637de0:	8b ce                	mov    %esi,%ecx
637de2:	e8 b9 9a fa ff       	call   0x5e18a0
637de7:	80 7f 05 00          	cmpb   $0x0,0x5(%edi)
637deb:	8d 77 70             	lea    0x70(%edi),%esi
637dee:	f2 0f 11 85 e8 fe ff 	movsd  %xmm0,-0x118(%ebp)
637df5:	ff
637df6:	74 20                	je     0x637e18
637df8:	0f 10 8f 68 03 00 00 	movups 0x368(%edi),%xmm1
637dff:	6a 10                	push   $0x10
637e01:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
637e07:	8b ce                	mov    %esi,%ecx
637e09:	50                   	push   %eax
637e0a:	6a 08                	push   $0x8
637e0c:	0f 11 8d c8 fe ff ff 	movups %xmm1,-0x138(%ebp)
637e13:	e8 18 93 00 00       	call   0x641130
637e18:	57                   	push   %edi
637e19:	e8 92 17 00 00       	call   0x6395b0
637e1e:	83 c4 04             	add    $0x4,%esp
637e21:	8d 8f ac 03 00 00    	lea    0x3ac(%edi),%ecx
637e27:	e8 f4 6b 00 00       	call   0x63ea20
637e2c:	84 c0                	test   %al,%al
637e2e:	75 13                	jne    0x637e43
637e30:	e8 ab e5 ff ff       	call   0x6363e0
637e35:	68 78 f7 6d 00       	push   $0x6df778
637e3a:	50                   	push   %eax
637e3b:	8b 08                	mov    (%eax),%ecx
637e3d:	ff 51 04             	call   *0x4(%ecx)
637e40:	83 c4 08             	add    $0x8,%esp
637e43:	8b cf                	mov    %edi,%ecx
637e45:	c6 85 07 ff ff ff 01 	movb   $0x1,-0xf9(%ebp)
637e4c:	e8 8f 1c 00 00       	call   0x639ae0
637e51:	33 c0                	xor    %eax,%eax
637e53:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
637e5a:	50                   	push   %eax
637e5b:	68 fc 56 6e 00       	push   $0x6e56fc
637e60:	8d 4d d8             	lea    -0x28(%ebp),%ecx
637e63:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
637e6a:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
637e6e:	e8 7d 09 e0 ff       	call   0x4387f0
637e73:	8d 45 d8             	lea    -0x28(%ebp),%eax
637e76:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
637e7a:	50                   	push   %eax
637e7b:	8b ce                	mov    %esi,%ecx
637e7d:	e8 be b0 00 00       	call   0x642f40
637e82:	84 c0                	test   %al,%al
637e84:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
637e88:	8b 45 ec             	mov    -0x14(%ebp),%eax
637e8b:	0f 94 85 06 ff ff ff 	sete   -0xfa(%ebp)
637e92:	83 f8 08             	cmp    $0x8,%eax
637e95:	72 4b                	jb     0x637ee2
637e97:	8b 4d d8             	mov    -0x28(%ebp),%ecx
637e9a:	40                   	inc    %eax
637e9b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
637ea0:	0f 87 83 02 00 00    	ja     0x638129
637ea6:	03 c0                	add    %eax,%eax
637ea8:	3d 00 10 00 00       	cmp    $0x1000,%eax
637ead:	72 2a                	jb     0x637ed9
637eaf:	f6 c1 1f             	test   $0x1f,%cl
637eb2:	0f 85 71 02 00 00    	jne    0x638129
637eb8:	8b 41 fc             	mov    -0x4(%ecx),%eax
637ebb:	3b c1                	cmp    %ecx,%eax
637ebd:	0f 83 66 02 00 00    	jae    0x638129
637ec3:	2b c8                	sub    %eax,%ecx
637ec5:	83 f9 04             	cmp    $0x4,%ecx
637ec8:	0f 82 5b 02 00 00    	jb     0x638129
637ece:	83 f9 23             	cmp    $0x23,%ecx
637ed1:	0f 87 52 02 00 00    	ja     0x638129
637ed7:	8b c8                	mov    %eax,%ecx
637ed9:	51                   	push   %ecx
637eda:	e8 f1 85 eb ff       	call   0x4f04d0
637edf:	83 c4 04             	add    $0x4,%esp
637ee2:	33 c0                	xor    %eax,%eax
637ee4:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
637eeb:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
637ef2:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
637ef6:	38 85 06 ff ff ff    	cmp    %al,-0xfa(%ebp)
637efc:	74 70                	je     0x637f6e
637efe:	e8 dd e4 ff ff       	call   0x6363e0
637f03:	68 10 f8 6d 00       	push   $0x6df810
637f08:	68 fc 56 6e 00       	push   $0x6e56fc
637f0d:	50                   	push   %eax
637f0e:	8b 08                	mov    (%eax),%ecx
637f10:	ff 51 24             	call   *0x24(%ecx)
637f13:	83 c4 0c             	add    $0xc,%esp
637f16:	c7 87 74 03 00 00 06 	movl   $0x6,0x374(%edi)
637f1d:	00 00 00
637f20:	8d 87 78 03 00 00    	lea    0x378(%edi),%eax
637f26:	8b ce                	mov    %esi,%ecx
637f28:	6a 2c                	push   $0x2c
637f2a:	50                   	push   %eax
637f2b:	6a 07                	push   $0x7
637f2d:	e8 fe 91 00 00       	call   0x641130
637f32:	c7 87 60 05 00 00 06 	movl   $0x6,0x560(%edi)
637f39:	00 00 00
637f3c:	80 7f 05 00          	cmpb   $0x0,0x5(%edi)
637f40:	74 20                	je     0x637f62
637f42:	0f 10 87 68 03 00 00 	movups 0x368(%edi),%xmm0
637f49:	6a 10                	push   $0x10
637f4b:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
637f51:	8b ce                	mov    %esi,%ecx
637f53:	50                   	push   %eax
637f54:	6a 08                	push   $0x8
637f56:	0f 11 85 b8 fe ff ff 	movups %xmm0,-0x148(%ebp)
637f5d:	e8 ce 91 00 00       	call   0x641130
637f62:	c6 85 07 ff ff ff 01 	movb   $0x1,-0xf9(%ebp)
637f69:	e9 83 01 00 00       	jmp    0x6380f1
637f6e:	8b ce                	mov    %esi,%ecx
637f70:	e8 3b a6 00 00       	call   0x6425b0
637f75:	05 c0 00 00 00       	add    $0xc0,%eax
637f7a:	8b ce                	mov    %esi,%ecx
637f7c:	50                   	push   %eax
637f7d:	e8 2e a6 00 00       	call   0x6425b0
637f82:	05 90 00 00 00       	add    $0x90,%eax
637f87:	50                   	push   %eax
637f88:	8d 45 c0             	lea    -0x40(%ebp),%eax
637f8b:	50                   	push   %eax
637f8c:	e8 0f e6 ff ff       	call   0x6365a0
637f91:	83 c4 0c             	add    $0xc,%esp
637f94:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
637f98:	8d 4d c0             	lea    -0x40(%ebp),%ecx
637f9b:	8b 45 d0             	mov    -0x30(%ebp),%eax
637f9e:	0f 43 4d c0          	cmovae -0x40(%ebp),%ecx
637fa2:	03 c0                	add    %eax,%eax
637fa4:	50                   	push   %eax
637fa5:	51                   	push   %ecx
637fa6:	6a 04                	push   $0x4
637fa8:	8b ce                	mov    %esi,%ecx
637faa:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
637fae:	e8 7d 91 00 00       	call   0x641130
637fb3:	c7 87 74 03 00 00 05 	movl   $0x5,0x374(%edi)
637fba:	00 00 00
637fbd:	c7 87 60 05 00 00 05 	movl   $0x5,0x560(%edi)
637fc4:	00 00 00
637fc7:	e8 14 e4 ff ff       	call   0x6363e0
637fcc:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
637fd2:	8b ce                	mov    %esi,%ecx
637fd4:	8b 87 68 03 00 00    	mov    0x368(%edi),%eax
637fda:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
637fe0:	8b 87 6c 03 00 00    	mov    0x36c(%edi),%eax
637fe6:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
637fec:	e8 bf a5 00 00       	call   0x6425b0
637ff1:	83 b8 ec 00 00 00 08 	cmpl   $0x8,0xec(%eax)
637ff8:	8d 88 d8 00 00 00    	lea    0xd8(%eax),%ecx
637ffe:	72 02                	jb     0x638002
638000:	8b 09                	mov    (%ecx),%ecx
638002:	f2 0f 10 85 e8 fe ff 	movsd  -0x118(%ebp),%xmm0
638009:	ff
63800a:	83 ec 08             	sub    $0x8,%esp
63800d:	8b 95 fc fe ff ff    	mov    -0x104(%ebp),%edx
638013:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
638018:	ff b5 00 ff ff ff    	push   -0x100(%ebp)
63801e:	8b 02                	mov    (%edx),%eax
638020:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
638026:	51                   	push   %ecx
638027:	68 a8 f8 6d 00       	push   $0x6df8a8
63802c:	52                   	push   %edx
63802d:	ff 50 14             	call   *0x14(%eax)