562f5e:	8b 46 30             	mov    0x30(%esi),%eax
562f61:	3b c1                	cmp    %ecx,%eax
562f63:	74 0c                	je     0x562f71
562f65:	50                   	push   %eax
562f66:	ff 75 08             	push   0x8(%ebp)
562f69:	e8 02 e4 fb ff       	call   0x521370
562f6e:	83 c4 08             	add    $0x8,%esp
562f71:	56                   	push   %esi
562f72:	ff 75 08             	push   0x8(%ebp)
562f75:	e8 66 fd ff ff       	call   0x562ce0
562f7a:	8d 46 38             	lea    0x38(%esi),%eax
562f7d:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
562f84:	89 46 30             	mov    %eax,0x30(%esi)
562f87:	33 c0                	xor    %eax,%eax
562f89:	66 89 46 28          	mov    %ax,0x28(%esi)
562f8d:	b8 03 00 00 00       	mov    $0x3,%eax
562f92:	56                   	push   %esi
562f93:	ff 75 08             	push   0x8(%ebp)
562f96:	66 89 46 2c          	mov    %ax,0x2c(%esi)
562f9a:	e8 d1 e3 fb ff       	call   0x521370
562f9f:	83 c4 10             	add    $0x10,%esp
562fa2:	83 3f 00             	cmpl   $0x0,(%edi)
562fa5:	75 99                	jne    0x562f40
562fa7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
562faa:	8b 75 0c             	mov    0xc(%ebp),%esi
562fad:	56                   	push   %esi
562fae:	53                   	push   %ebx
562faf:	ff 75 08             	push   0x8(%ebp)
562fb2:	e8 19 02 00 00       	call   0x5631d0
562fb7:	83 c4 0c             	add    $0xc,%esp
562fba:	f7 43 24 00 04 00 00 	testl  $0x400,0x24(%ebx)
562fc1:	75 19                	jne    0x562fdc
562fc3:	8b 4b 20             	mov    0x20(%ebx),%ecx
562fc6:	85 c9                	test   %ecx,%ecx
562fc8:	74 12                	je     0x562fdc
562fca:	8b 49 38             	mov    0x38(%ecx),%ecx
562fcd:	83 e1 03             	and    $0x3,%ecx
562fd0:	80 f9 03             	cmp    $0x3,%cl
562fd3:	75 07                	jne    0x562fdc
562fd5:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
562fdc:	5e                   	pop    %esi
562fdd:	5b                   	pop    %ebx
562fde:	5f                   	pop    %edi
562fdf:	8b e5                	mov    %ebp,%esp
562fe1:	5d                   	pop    %ebp
562fe2:	c3                   	ret
562fe3:	cc                   	int3
562fe4:	cc                   	int3
562fe5:	cc                   	int3
562fe6:	cc                   	int3
562fe7:	cc                   	int3
562fe8:	cc                   	int3
562fe9:	cc                   	int3
562fea:	cc                   	int3
562feb:	cc                   	int3
562fec:	cc                   	int3
562fed:	cc                   	int3
562fee:	cc                   	int3
562fef:	cc                   	int3
562ff0:	55                   	push   %ebp
562ff1:	8b ec                	mov    %esp,%ebp
562ff3:	83 ec 1c             	sub    $0x1c,%esp
562ff6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
562ffb:	33 c5                	xor    %ebp,%eax
562ffd:	89 45 fc             	mov    %eax,-0x4(%ebp)
563000:	8b 45 08             	mov    0x8(%ebp),%eax
563003:	53                   	push   %ebx
563004:	57                   	push   %edi
563005:	8b 7d 0c             	mov    0xc(%ebp),%edi
563008:	33 db                	xor    %ebx,%ebx
56300a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
56300d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
563010:	8b 0f                	mov    (%edi),%ecx
563012:	0b 4f 08             	or     0x8(%edi),%ecx
563015:	8b 57 04             	mov    0x4(%edi),%edx
563018:	f7 d1                	not    %ecx
56301a:	0b 57 0c             	or     0xc(%edi),%edx
56301d:	f7 d2                	not    %edx
56301f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
563022:	8b 48 0c             	mov    0xc(%eax),%ecx
563025:	89 55 e8             	mov    %edx,-0x18(%ebp)
563028:	8b 50 14             	mov    0x14(%eax),%edx
56302b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
56302e:	85 c9                	test   %ecx,%ecx
563030:	0f 8e 93 00 00 00    	jle    0x5630c9
563036:	56                   	push   %esi
563037:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
56303e:	00 00
563040:	f6 42 0a 02          	testb  $0x2,0xa(%edx)
563044:	0f 85 7e 00 00 00    	jne    0x5630c8
56304a:	8b 72 28             	mov    0x28(%edx),%esi
56304d:	8b ce                	mov    %esi,%ecx
56304f:	8b 5a 2c             	mov    0x2c(%edx),%ebx
563052:	8b c3                	mov    %ebx,%eax
563054:	23 4f 08             	and    0x8(%edi),%ecx
563057:	23 47 0c             	and    0xc(%edi),%eax
56305a:	0b c8                	or     %eax,%ecx
56305c:	74 55                	je     0x5630b3
56305e:	23 75 ec             	and    -0x14(%ebp),%esi
563061:	23 5d e8             	and    -0x18(%ebp),%ebx
563064:	0b f3                	or     %ebx,%esi
563066:	75 4b                	jne    0x5630b3
563068:	0f b7 4f 28          	movzwl 0x28(%edi),%ecx
56306c:	83 e9 01             	sub    $0x1,%ecx
56306f:	78 35                	js     0x5630a6
563071:	8b 47 30             	mov    0x30(%edi),%eax
563074:	8d 34 88             	lea    (%eax,%ecx,4),%esi
563077:	8b 06                	mov    (%esi),%eax
563079:	85 c0                	test   %eax,%eax
56307b:	74 1b                	je     0x563098
56307d:	3b c2                	cmp    %edx,%eax
56307f:	74 21                	je     0x5630a2
563081:	8b 40 10             	mov    0x10(%eax),%eax
563084:	85 c0                	test   %eax,%eax
563086:	78 10                	js     0x563098
563088:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
56308b:	8d 04 40             	lea    (%eax,%eax,2),%eax
56308e:	c1 e0 04             	shl    $0x4,%eax
563091:	03 43 14             	add    0x14(%ebx),%eax
563094:	3b c2                	cmp    %edx,%eax
563096:	74 0a                	je     0x5630a2
563098:	83 ee 04             	sub    $0x4,%esi
56309b:	83 e9 01             	sub    $0x1,%ecx
56309e:	79 d7                	jns    0x563077
5630a0:	eb 04                	jmp    0x5630a6
5630a2:	85 c9                	test   %ecx,%ecx
5630a4:	79 0d                	jns    0x5630b3
5630a6:	0f b7 42 08          	movzwl 0x8(%edx),%eax
5630aa:	66 85 c0             	test   %ax,%ax
5630ad:	7f 43                	jg     0x5630f2
5630af:	66 01 47 16          	add    %ax,0x16(%edi)
5630b3:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5630b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5630b9:	83 c2 30             	add    $0x30,%edx
5630bc:	49                   	dec    %ecx
5630bd:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5630c0:	85 c9                	test   %ecx,%ecx
5630c2:	0f 8f 78 ff ff ff    	jg     0x563040
5630c8:	5e                   	pop    %esi
5630c9:	8b 55 10             	mov    0x10(%ebp),%edx
5630cc:	0f bf c3             	movswl %bx,%eax
5630cf:	0f bf ca             	movswl %dx,%ecx
5630d2:	2b c8                	sub    %eax,%ecx
5630d4:	0f bf 47 16          	movswl 0x16(%edi),%eax
5630d8:	3b c1                	cmp    %ecx,%eax
5630da:	7e 06                	jle    0x5630e2
5630dc:	2b d3                	sub    %ebx,%edx
5630de:	66 89 57 16          	mov    %dx,0x16(%edi)
5630e2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5630e5:	5f                   	pop    %edi
5630e6:	33 cd                	xor    %ebp,%ecx
5630e8:	5b                   	pop    %ebx
5630e9:	e8 ec e3 07 00       	call   0x5e14da
5630ee:	8b e5                	mov    %ebp,%esp
5630f0:	5d                   	pop    %ebp
5630f1:	c3                   	ret
5630f2:	66 ff 4f 16          	decw   0x16(%edi)
5630f6:	f6 42 0c 82          	testb  $0x82,0xc(%edx)
5630fa:	74 b7                	je     0x5630b3
5630fc:	8b 02                	mov    (%edx),%eax
5630fe:	8d 4d f8             	lea    -0x8(%ebp),%ecx
563101:	51                   	push   %ecx
563102:	8b 40 10             	mov    0x10(%eax),%eax
563105:	50                   	push   %eax
563106:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
56310d:	e8 0e 43 fc ff       	call   0x527420
563112:	83 c4 08             	add    $0x8,%esp
563115:	85 c0                	test   %eax,%eax
563117:	74 0e                	je     0x563127
563119:	8b 45 f8             	mov    -0x8(%ebp),%eax
56311c:	b9 0a 00 00 00       	mov    $0xa,%ecx
563121:	40                   	inc    %eax
563122:	83 f8 02             	cmp    $0x2,%eax
563125:	76 05                	jbe    0x56312c
563127:	b9 14 00 00 00       	mov    $0x14,%ecx
56312c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
56312f:	0f bf c3             	movswl %bx,%eax
563132:	89 4d f8             	mov    %ecx,-0x8(%ebp)
563135:	3b c1                	cmp    %ecx,%eax
563137:	0f 8d 79 ff ff ff    	jge    0x5630b6
56313d:	0f b7 d9             	movzwl %cx,%ebx
563140:	89 5d f4             	mov    %ebx,-0xc(%ebp)
563143:	e9 6e ff ff ff       	jmp    0x5630b6
563148:	cc                   	int3
563149:	cc                   	int3
56314a:	cc                   	int3
56314b:	cc                   	int3
56314c:	cc                   	int3
56314d:	cc                   	int3
56314e:	cc                   	int3
56314f:	cc                   	int3
563150:	55                   	push   %ebp
563151:	8b ec                	mov    %esp,%ebp
563153:	56                   	push   %esi
563154:	8b 75 0c             	mov    0xc(%ebp),%esi
563157:	57                   	push   %edi
563158:	8b 7d 10             	mov    0x10(%ebp),%edi
56315b:	0f b7 46 2c          	movzwl 0x2c(%esi),%eax
56315f:	3b c7                	cmp    %edi,%eax
563161:	7c 06                	jl     0x563169
563163:	5f                   	pop    %edi
563164:	33 c0                	xor    %eax,%eax
563166:	5e                   	pop    %esi
563167:	5d                   	pop    %ebp
563168:	c3                   	ret
563169:	83 c7 07             	add    $0x7,%edi
56316c:	83 e7 f8             	and    $0xfffffff8,%edi
56316f:	53                   	push   %ebx
563170:	6a 00                	push   $0x0
563172:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
563179:	50                   	push   %eax
56317a:	ff 75 08             	push   0x8(%ebp)
56317d:	e8 5e e2 fb ff       	call   0x5213e0
563182:	8b d8                	mov    %eax,%ebx
563184:	83 c4 0c             	add    $0xc,%esp
563187:	85 db                	test   %ebx,%ebx
563189:	75 08                	jne    0x563193
56318b:	8d 43 07             	lea    0x7(%ebx),%eax
56318e:	5b                   	pop    %ebx
56318f:	5f                   	pop    %edi
563190:	5e                   	pop    %esi
563191:	5d                   	pop    %ebp
563192:	c3                   	ret
563193:	0f b7 46 2c          	movzwl 0x2c(%esi),%eax
563197:	c1 e0 02             	shl    $0x2,%eax
56319a:	50                   	push   %eax
56319b:	ff 76 30             	push   0x30(%esi)
56319e:	53                   	push   %ebx
56319f:	e8 5c fd 07 00       	call   0x5e2f00
5631a4:	8b 4e 30             	mov    0x30(%esi),%ecx
5631a7:	8d 46 38             	lea    0x38(%esi),%eax
5631aa:	83 c4 0c             	add    $0xc,%esp
5631ad:	3b c8                	cmp    %eax,%ecx
5631af:	74 0c                	je     0x5631bd
5631b1:	51                   	push   %ecx
5631b2:	ff 75 08             	push   0x8(%ebp)
5631b5:	e8 b6 e1 fb ff       	call   0x521370
5631ba:	83 c4 08             	add    $0x8,%esp
5631bd:	89 5e 30             	mov    %ebx,0x30(%esi)
5631c0:	33 c0                	xor    %eax,%eax
5631c2:	5b                   	pop    %ebx
5631c3:	66 89 7e 2c          	mov    %di,0x2c(%esi)
5631c7:	5f                   	pop    %edi
5631c8:	5e                   	pop    %esi
5631c9:	5d                   	pop    %ebp
5631ca:	c3                   	ret
5631cb:	cc                   	int3
5631cc:	cc                   	int3
5631cd:	cc                   	int3
5631ce:	cc                   	int3
5631cf:	cc                   	int3
5631d0:	55                   	push   %ebp
5631d1:	8b ec                	mov    %esp,%ebp
5631d3:	53                   	push   %ebx
5631d4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5631d7:	57                   	push   %edi
5631d8:	53                   	push   %ebx
5631d9:	ff 75 08             	push   0x8(%ebp)
5631dc:	e8 ff fa ff ff       	call   0x562ce0
5631e1:	8b 7d 10             	mov    0x10(%ebp),%edi
5631e4:	0f b7 47 28          	movzwl 0x28(%edi),%eax
5631e8:	50                   	push   %eax
5631e9:	53                   	push   %ebx
5631ea:	ff 75 08             	push   0x8(%ebp)
5631ed:	e8 5e ff ff ff       	call   0x563150
5631f2:	83 c4 14             	add    $0x14,%esp
5631f5:	85 c0                	test   %eax,%eax
5631f7:	74 18                	je     0x563211
5631f9:	0f 57 c0             	xorps  %xmm0,%xmm0
5631fc:	b8 07 00 00 00       	mov    $0x7,%eax
563201:	66 0f d6 43 18       	movq   %xmm0,0x18(%ebx)
563206:	5f                   	pop    %edi
563207:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
56320e:	5b                   	pop    %ebx
56320f:	5d                   	pop    %ebp
563210:	c3                   	ret
563211:	0f 10 07             	movups (%edi),%xmm0
563214:	0f 11 03             	movups %xmm0,(%ebx)
563217:	0f 10 47 10          	movups 0x10(%edi),%xmm0
56321b:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
56321f:	f3 0f 7e 47 20       	movq   0x20(%edi),%xmm0
563224:	66 0f d6 43 20       	movq   %xmm0,0x20(%ebx)
563229:	8b 47 28             	mov    0x28(%edi),%eax
56322c:	89 43 28             	mov    %eax,0x28(%ebx)
56322f:	0f b7 c0             	movzwl %ax,%eax
563232:	c1 e0 02             	shl    $0x2,%eax
563235:	50                   	push   %eax
563236:	ff 77 30             	push   0x30(%edi)
563239:	ff 73 30             	push   0x30(%ebx)
56323c:	e8 bf fc 07 00       	call   0x5e2f00
563241:	8b 47 24             	mov    0x24(%edi),%eax
563244:	83 c4 0c             	add    $0xc,%esp
563247:	a9 00 04 00 00       	test   $0x400,%eax
56324c:	74 0a                	je     0x563258
56324e:	c6 47 1c 00          	movb   $0x0,0x1c(%edi)
563252:	33 c0                	xor    %eax,%eax
563254:	5f                   	pop    %edi
563255:	5b                   	pop    %ebx
563256:	5d                   	pop    %ebp
563257:	c3                   	ret
563258:	a9 00 40 00 00       	test   $0x4000,%eax
56325d:	74 07                	je     0x563266
56325f:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
563266:	5f                   	pop    %edi
563267:	33 c0                	xor    %eax,%eax
563269:	5b                   	pop    %ebx
56326a:	5d                   	pop    %ebp
56326b:	c3                   	ret
56326c:	cc                   	int3
56326d:	cc                   	int3
56326e:	cc                   	int3
56326f:	cc                   	int3
563270:	55                   	push   %ebp
563271:	8b ec                	mov    %esp,%ebp
563273:	83 ec 08             	sub    $0x8,%esp
563276:	8b 55 08             	mov    0x8(%ebp),%edx
563279:	53                   	push   %ebx
56327a:	66 8b 5d 14          	mov    0x14(%ebp),%bx
56327e:	56                   	push   %esi
56327f:	0f b7 0a             	movzwl (%edx),%ecx
563282:	57                   	push   %edi
563283:	0f b7 f1             	movzwl %cx,%esi
563286:	8d 7a 08             	lea    0x8(%edx),%edi
563289:	89 4d fc             	mov    %ecx,-0x4(%ebp)
56328c:	8b c7                	mov    %edi,%eax
56328e:	89 7d f8             	mov    %edi,-0x8(%ebp)
563291:	66 85 f6             	test   %si,%si
563294:	74 52                	je     0x5632e8
563296:	0f b7 50 08          	movzwl 0x8(%eax),%edx
56329a:	66 3b d3             	cmp    %bx,%dx
56329d:	7c 1a                	jl     0x5632b9
56329f:	8b 08                	mov    (%eax),%ecx
5632a1:	8b 78 04             	mov    0x4(%eax),%edi
5632a4:	23 4d 0c             	and    0xc(%ebp),%ecx
5632a7:	23 7d 10             	and    0x10(%ebp),%edi
5632aa:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
5632ad:	75 05                	jne    0x5632b4
5632af:	3b 7d 10             	cmp    0x10(%ebp),%edi
5632b2:	74 51                	je     0x563305
5632b4:	66 3b d3             	cmp    %bx,%dx
5632b7:	7f 18                	jg     0x5632d1
5632b9:	8b 08                	mov    (%eax),%ecx
5632bb:	8b 78 04             	mov    0x4(%eax),%edi
5632be:	23 4d 0c             	and    0xc(%ebp),%ecx
5632c1:	23 7d 10             	and    0x10(%ebp),%edi
5632c4:	3b 08                	cmp    (%eax),%ecx
5632c6:	75 09                	jne    0x5632d1
5632c8:	3b 78 04             	cmp    0x4(%eax),%edi
5632cb:	0f 84 8a 00 00 00    	je     0x56335b
5632d1:	81 c6 ff ff 00 00    	add    $0xffff,%esi