51aefc:	85 c0                	test   %eax,%eax
51aefe:	74 1f                	je     0x51af1f
51af00:	50                   	push   %eax
51af01:	e8 ca c1 fc ff       	call   0x4e70d0
51af06:	83 c4 04             	add    $0x4,%esp
51af09:	89 46 10             	mov    %eax,0x10(%esi)
51af0c:	85 c0                	test   %eax,%eax
51af0e:	75 0f                	jne    0x51af1f
51af10:	56                   	push   %esi
51af11:	e8 1a 02 00 00       	call   0x51b130
51af16:	83 c4 04             	add    $0x4,%esp
51af19:	33 c0                	xor    %eax,%eax
51af1b:	5b                   	pop    %ebx
51af1c:	5f                   	pop    %edi
51af1d:	5e                   	pop    %esi
51af1e:	c3                   	ret
51af1f:	8b 06                	mov    (%esi),%eax
51af21:	8b 40 1c             	mov    0x1c(%eax),%eax
51af24:	85 c0                	test   %eax,%eax
51af26:	74 0b                	je     0x51af33
51af28:	57                   	push   %edi
51af29:	56                   	push   %esi
51af2a:	ff d0                	call   *%eax
51af2c:	83 c4 08             	add    $0x8,%esp
51af2f:	5b                   	pop    %ebx
51af30:	5f                   	pop    %edi
51af31:	5e                   	pop    %esi
51af32:	c3                   	ret
51af33:	5b                   	pop    %ebx
51af34:	5f                   	pop    %edi
51af35:	b8 01 00 00 00       	mov    $0x1,%eax
51af3a:	5e                   	pop    %esi
51af3b:	c3                   	ret
51af3c:	68 d8 00 00 00       	push   $0xd8
51af41:	68 84 07 64 00       	push   $0x640784
51af46:	6a 6f                	push   $0x6f
51af48:	6a 6e                	push   $0x6e
51af4a:	6a 06                	push   $0x6
51af4c:	e8 2f e0 fb ff       	call   0x4d8f80
51af51:	83 c4 14             	add    $0x14,%esp
51af54:	33 c0                	xor    %eax,%eax
51af56:	5f                   	pop    %edi
51af57:	5e                   	pop    %esi
51af58:	c3                   	ret
51af59:	cc                   	int3
51af5a:	cc                   	int3
51af5b:	cc                   	int3
51af5c:	cc                   	int3
51af5d:	cc                   	int3
51af5e:	cc                   	int3
51af5f:	cc                   	int3
51af60:	56                   	push   %esi
51af61:	8b 74 24 08          	mov    0x8(%esp),%esi
51af65:	57                   	push   %edi
51af66:	8b 7c 24 10          	mov    0x10(%esp),%edi
51af6a:	85 ff                	test   %edi,%edi
51af6c:	0f 84 31 01 00 00    	je     0x51b0a3
51af72:	83 3f 00             	cmpl   $0x0,(%edi)
51af75:	0f 84 28 01 00 00    	je     0x51b0a3
51af7b:	8b 47 04             	mov    0x4(%edi),%eax
51af7e:	85 c0                	test   %eax,%eax
51af80:	74 2a                	je     0x51afac
51af82:	50                   	push   %eax
51af83:	e8 f8 c7 fc ff       	call   0x4e7780
51af88:	83 c4 04             	add    $0x4,%esp
51af8b:	85 c0                	test   %eax,%eax
51af8d:	75 1d                	jne    0x51afac
51af8f:	68 de 00 00 00       	push   $0xde
51af94:	68 84 07 64 00       	push   $0x640784
51af99:	6a 26                	push   $0x26
51af9b:	6a 6e                	push   $0x6e
51af9d:	6a 06                	push   $0x6
51af9f:	e8 dc df fb ff       	call   0x4d8f80
51afa4:	83 c4 14             	add    $0x14,%esp
51afa7:	33 c0                	xor    %eax,%eax
51afa9:	5f                   	pop    %edi
51afaa:	5e                   	pop    %esi
51afab:	c3                   	ret
51afac:	8b 06                	mov    (%esi),%eax
51afae:	53                   	push   %ebx
51afaf:	3b 07                	cmp    (%edi),%eax
51afb1:	75 10                	jne    0x51afc3
51afb3:	8b 5e 0c             	mov    0xc(%esi),%ebx
51afb6:	6a 04                	push   $0x4
51afb8:	56                   	push   %esi
51afb9:	e8 c2 57 fd ff       	call   0x4f0780
51afbe:	83 c4 08             	add    $0x8,%esp
51afc1:	eb 02                	jmp    0x51afc5
51afc3:	33 db                	xor    %ebx,%ebx
51afc5:	56                   	push   %esi
51afc6:	e8 65 01 00 00       	call   0x51b130
51afcb:	0f 10 07             	movups (%edi),%xmm0
51afce:	68 00 04 00 00       	push   $0x400
51afd3:	56                   	push   %esi
51afd4:	0f 11 06             	movups %xmm0,(%esi)
51afd7:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
51afdc:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
51afe1:	e8 7a 57 fd ff       	call   0x4f0760
51afe6:	83 c4 0c             	add    $0xc,%esp
51afe9:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
51aff0:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
51aff7:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
51affb:	74 5d                	je     0x51b05a
51affd:	8b 06                	mov    (%esi),%eax
51afff:	8b 48 28             	mov    0x28(%eax),%ecx
51b002:	85 c9                	test   %ecx,%ecx
51b004:	74 54                	je     0x51b05a
51b006:	85 db                	test   %ebx,%ebx
51b008:	74 05                	je     0x51b00f
51b00a:	89 5e 0c             	mov    %ebx,0xc(%esi)
51b00d:	eb 3c                	jmp    0x51b04b
51b00f:	68 f9 00 00 00       	push   $0xf9
51b014:	68 84 07 64 00       	push   $0x640784
51b019:	51                   	push   %ecx
51b01a:	e8 31 57 fc ff       	call   0x4e0750
51b01f:	8b d8                	mov    %eax,%ebx
51b021:	83 c4 0c             	add    $0xc,%esp
51b024:	89 5e 0c             	mov    %ebx,0xc(%esi)
51b027:	85 db                	test   %ebx,%ebx
51b029:	75 1e                	jne    0x51b049
51b02b:	68 fb 00 00 00       	push   $0xfb
51b030:	68 84 07 64 00       	push   $0x640784
51b035:	6a 41                	push   $0x41
51b037:	6a 6e                	push   $0x6e
51b039:	6a 06                	push   $0x6
51b03b:	e8 40 df fb ff       	call   0x4d8f80
51b040:	83 c4 14             	add    $0x14,%esp
51b043:	33 c0                	xor    %eax,%eax
51b045:	5b                   	pop    %ebx
51b046:	5f                   	pop    %edi
51b047:	5e                   	pop    %esi
51b048:	c3                   	ret
51b049:	8b 06                	mov    (%esi),%eax
51b04b:	ff 70 28             	push   0x28(%eax)
51b04e:	ff 77 0c             	push   0xc(%edi)
51b051:	53                   	push   %ebx
51b052:	e8 79 7d 0b 00       	call   0x5d2dd0
51b057:	83 c4 0c             	add    $0xc,%esp
51b05a:	8b 47 14             	mov    0x14(%edi),%eax
51b05d:	89 46 14             	mov    %eax,0x14(%esi)
51b060:	8b 47 10             	mov    0x10(%edi),%eax
51b063:	85 c0                	test   %eax,%eax
51b065:	74 1f                	je     0x51b086
51b067:	50                   	push   %eax
51b068:	e8 63 c0 fc ff       	call   0x4e70d0
51b06d:	83 c4 04             	add    $0x4,%esp
51b070:	89 46 10             	mov    %eax,0x10(%esi)
51b073:	85 c0                	test   %eax,%eax
51b075:	75 0f                	jne    0x51b086
51b077:	56                   	push   %esi
51b078:	e8 b3 00 00 00       	call   0x51b130
51b07d:	83 c4 04             	add    $0x4,%esp
51b080:	33 c0                	xor    %eax,%eax
51b082:	5b                   	pop    %ebx
51b083:	5f                   	pop    %edi
51b084:	5e                   	pop    %esi
51b085:	c3                   	ret
51b086:	8b 06                	mov    (%esi),%eax
51b088:	8b 40 1c             	mov    0x1c(%eax),%eax
51b08b:	85 c0                	test   %eax,%eax
51b08d:	74 0b                	je     0x51b09a
51b08f:	57                   	push   %edi
51b090:	56                   	push   %esi
51b091:	ff d0                	call   *%eax
51b093:	83 c4 08             	add    $0x8,%esp
51b096:	5b                   	pop    %ebx
51b097:	5f                   	pop    %edi
51b098:	5e                   	pop    %esi
51b099:	c3                   	ret
51b09a:	5b                   	pop    %ebx
51b09b:	5f                   	pop    %edi
51b09c:	b8 01 00 00 00       	mov    $0x1,%eax
51b0a1:	5e                   	pop    %esi
51b0a2:	c3                   	ret
51b0a3:	68 d8 00 00 00       	push   $0xd8
51b0a8:	68 84 07 64 00       	push   $0x640784
51b0ad:	6a 6f                	push   $0x6f
51b0af:	6a 6e                	push   $0x6e
51b0b1:	6a 06                	push   $0x6
51b0b3:	e8 c8 de fb ff       	call   0x4d8f80
51b0b8:	83 c4 14             	add    $0x14,%esp
51b0bb:	33 c0                	xor    %eax,%eax
51b0bd:	5f                   	pop    %edi
51b0be:	5e                   	pop    %esi
51b0bf:	c3                   	ret
51b0c0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
51b0c4:	8b 01                	mov    (%ecx),%eax
51b0c6:	85 c0                	test   %eax,%eax
51b0c8:	74 23                	je     0x51b0ed
51b0ca:	8b 40 2c             	mov    0x2c(%eax),%eax
51b0cd:	85 c0                	test   %eax,%eax
51b0cf:	74 1c                	je     0x51b0ed
51b0d1:	ff 74 24 10          	push   0x10(%esp)
51b0d5:	ff 74 24 10          	push   0x10(%esp)
51b0d9:	ff 74 24 10          	push   0x10(%esp)
51b0dd:	51                   	push   %ecx
51b0de:	ff d0                	call   *%eax
51b0e0:	83 c4 10             	add    $0x10,%esp
51b0e3:	85 c0                	test   %eax,%eax
51b0e5:	7e 06                	jle    0x51b0ed
51b0e7:	b8 01 00 00 00       	mov    $0x1,%eax
51b0ec:	c3                   	ret
51b0ed:	33 c0                	xor    %eax,%eax
51b0ef:	c3                   	ret
51b0f0:	ff 74 24 04          	push   0x4(%esp)
51b0f4:	e8 37 00 00 00       	call   0x51b130
51b0f9:	6a 39                	push   $0x39
51b0fb:	68 84 07 64 00       	push   $0x640784
51b100:	ff 74 24 10          	push   0x10(%esp)
51b104:	e8 77 56 fc ff       	call   0x4e0780
51b109:	83 c4 10             	add    $0x10,%esp
51b10c:	c3                   	ret
51b10d:	cc                   	int3
51b10e:	cc                   	int3
51b10f:	cc                   	int3
51b110:	6a 33                	push   $0x33
51b112:	68 84 07 64 00       	push   $0x640784
51b117:	6a 18                	push   $0x18
51b119:	e8 22 59 fc ff       	call   0x4e0a40
51b11e:	83 c4 0c             	add    $0xc,%esp
51b121:	c3                   	ret
51b122:	cc                   	int3
51b123:	cc                   	int3
51b124:	cc                   	int3
51b125:	cc                   	int3
51b126:	cc                   	int3
51b127:	cc                   	int3
51b128:	cc                   	int3
51b129:	cc                   	int3
51b12a:	cc                   	int3
51b12b:	cc                   	int3
51b12c:	cc                   	int3
51b12d:	cc                   	int3
51b12e:	cc                   	int3
51b12f:	cc                   	int3
51b130:	56                   	push   %esi
51b131:	8b 74 24 08          	mov    0x8(%esp),%esi
51b135:	85 f6                	test   %esi,%esi
51b137:	0f 84 8e 00 00 00    	je     0x51b1cb
51b13d:	8b 06                	mov    (%esi),%eax
51b13f:	85 c0                	test   %eax,%eax
51b141:	74 58                	je     0x51b19b
51b143:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
51b147:	74 1a                	je     0x51b163
51b149:	6a 02                	push   $0x2
51b14b:	56                   	push   %esi
51b14c:	e8 3f 56 fd ff       	call   0x4f0790
51b151:	83 c4 08             	add    $0x8,%esp
51b154:	85 c0                	test   %eax,%eax
51b156:	75 0b                	jne    0x51b163
51b158:	8b 06                	mov    (%esi),%eax
51b15a:	56                   	push   %esi
51b15b:	8b 40 20             	mov    0x20(%eax),%eax
51b15e:	ff d0                	call   *%eax
51b160:	83 c4 04             	add    $0x4,%esp
51b163:	8b 06                	mov    (%esi),%eax
51b165:	85 c0                	test   %eax,%eax
51b167:	74 32                	je     0x51b19b
51b169:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
51b16d:	74 2c                	je     0x51b19b
51b16f:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
51b173:	74 26                	je     0x51b19b
51b175:	6a 04                	push   $0x4
51b177:	56                   	push   %esi
51b178:	e8 13 56 fd ff       	call   0x4f0790
51b17d:	83 c4 08             	add    $0x8,%esp
51b180:	85 c0                	test   %eax,%eax
51b182:	75 17                	jne    0x51b19b
51b184:	8b 06                	mov    (%esi),%eax
51b186:	6a 21                	push   $0x21
51b188:	68 84 07 64 00       	push   $0x640784
51b18d:	ff 70 28             	push   0x28(%eax)
51b190:	ff 76 0c             	push   0xc(%esi)
51b193:	e8 a8 56 fc ff       	call   0x4e0840
51b198:	83 c4 10             	add    $0x10,%esp
51b19b:	68 00 04 00 00       	push   $0x400
51b1a0:	56                   	push   %esi
51b1a1:	e8 ea 55 fd ff       	call   0x4f0790
51b1a6:	83 c4 08             	add    $0x8,%esp
51b1a9:	85 c0                	test   %eax,%eax
51b1ab:	75 0b                	jne    0x51b1b8
51b1ad:	ff 76 10             	push   0x10(%esi)
51b1b0:	e8 3b c0 fc ff       	call   0x4e71f0
51b1b5:	83 c4 04             	add    $0x4,%esp
51b1b8:	ff 76 04             	push   0x4(%esi)
51b1bb:	e8 f0 c4 fc ff       	call   0x4e76b0
51b1c0:	6a 18                	push   $0x18
51b1c2:	56                   	push   %esi
51b1c3:	e8 18 68 ee ff       	call   0x4019e0
51b1c8:	83 c4 0c             	add    $0xc,%esp
51b1cb:	b8 01 00 00 00       	mov    $0x1,%eax
51b1d0:	5e                   	pop    %esi
51b1d1:	c3                   	ret
51b1d2:	cc                   	int3
51b1d3:	cc                   	int3
51b1d4:	cc                   	int3
51b1d5:	cc                   	int3
51b1d6:	cc                   	int3
51b1d7:	cc                   	int3
51b1d8:	cc                   	int3
51b1d9:	cc                   	int3
51b1da:	cc                   	int3
51b1db:	cc                   	int3
51b1dc:	cc                   	int3
51b1dd:	cc                   	int3
51b1de:	cc                   	int3
51b1df:	cc                   	int3
51b1e0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
51b1e4:	8b 41 40             	mov    0x40(%ecx),%eax
51b1e7:	8b 40 20             	mov    0x20(%eax),%eax
51b1ea:	85 c0                	test   %eax,%eax
51b1ec:	74 06                	je     0x51b1f4
51b1ee:	89 4c 24 04          	mov    %ecx,0x4(%esp)
51b1f2:	ff e0                	jmp    *%eax
51b1f4:	89 4c 24 04          	mov    %ecx,0x4(%esp)
51b1f8:	e9 03 00 00 00       	jmp    0x51b200
51b1fd:	cc                   	int3
51b1fe:	cc                   	int3
51b1ff:	cc                   	int3
51b200:	b8 04 00 00 00       	mov    $0x4,%eax
51b205:	e8 a6 65 0b 00       	call   0x5d17b0
51b20a:	53                   	push   %ebx
51b20b:	55                   	push   %ebp
51b20c:	56                   	push   %esi
51b20d:	57                   	push   %edi
51b20e:	e8 0d cb fc ff       	call   0x4e7d20
51b213:	8b f0                	mov    %eax,%esi
51b215:	85 f6                	test   %esi,%esi
51b217:	74 65                	je     0x51b27e
51b219:	56                   	push   %esi
51b21a:	e8 f1 cb fc ff       	call   0x4e7e10
51b21f:	56                   	push   %esi
51b220:	e8 ab c9 fc ff       	call   0x4e7bd0
51b225:	56                   	push   %esi
51b226:	89 44 24 1c          	mov    %eax,0x1c(%esp)
51b22a:	e8 a1 c9 fc ff       	call   0x4e7bd0
51b22f:	8b e8                	mov    %eax,%ebp
51b231:	83 c4 0c             	add    $0xc,%esp
51b234:	85 ed                	test   %ebp,%ebp
51b236:	74 46                	je     0x51b27e
51b238:	8b 5c 24 18          	mov    0x18(%esp),%ebx
51b23c:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
51b240:	75 0c                	jne    0x51b24e
51b242:	e8 99 eb fb ff       	call   0x4d9de0
51b247:	89 43 08             	mov    %eax,0x8(%ebx)
51b24a:	85 c0                	test   %eax,%eax
51b24c:	74 30                	je     0x51b27e
51b24e:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
51b252:	75 0c                	jne    0x51b260
51b254:	e8 87 eb fb ff       	call   0x4d9de0