537f28:	cc                   	int3
537f29:	cc                   	int3
537f2a:	cc                   	int3
537f2b:	cc                   	int3
537f2c:	cc                   	int3
537f2d:	cc                   	int3
537f2e:	cc                   	int3
537f2f:	cc                   	int3
537f30:	55                   	push   %ebp
537f31:	8b ec                	mov    %esp,%ebp
537f33:	56                   	push   %esi
537f34:	8b 75 08             	mov    0x8(%ebp),%esi
537f37:	80 7e 59 00          	cmpb   $0x0,0x59(%esi)
537f3b:	75 09                	jne    0x537f46
537f3d:	56                   	push   %esi
537f3e:	e8 6d ec fb ff       	call   0x4f6bb0
537f43:	83 c4 04             	add    $0x4,%esp
537f46:	57                   	push   %edi
537f47:	33 ff                	xor    %edi,%edi
537f49:	39 7e 14             	cmp    %edi,0x14(%esi)
537f4c:	7e 2e                	jle    0x537f7c
537f4e:	53                   	push   %ebx
537f4f:	33 db                	xor    %ebx,%ebx
537f51:	8b 4e 10             	mov    0x10(%esi),%ecx
537f54:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
537f58:	85 c0                	test   %eax,%eax
537f5a:	74 16                	je     0x537f72
537f5c:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
537f60:	75 0b                	jne    0x537f6d
537f62:	50                   	push   %eax
537f63:	e8 e8 17 00 00       	call   0x539750
537f68:	83 c4 04             	add    $0x4,%esp
537f6b:	eb 05                	jmp    0x537f72
537f6d:	66 83 48 4e 08       	orw    $0x8,0x4e(%eax)
537f72:	47                   	inc    %edi
537f73:	83 c3 10             	add    $0x10,%ebx
537f76:	3b 7e 14             	cmp    0x14(%esi),%edi
537f79:	7c d6                	jl     0x537f51
537f7b:	5b                   	pop    %ebx
537f7c:	83 66 18 ee          	andl   $0xffffffee,0x18(%esi)
537f80:	56                   	push   %esi
537f81:	e8 5a 6c 01 00       	call   0x54ebe0
537f86:	83 c4 04             	add    $0x4,%esp
537f89:	80 7e 59 00          	cmpb   $0x0,0x59(%esi)
537f8d:	5f                   	pop    %edi
537f8e:	75 09                	jne    0x537f99
537f90:	56                   	push   %esi
537f91:	e8 fa ef fb ff       	call   0x4f6f90
537f96:	83 c4 04             	add    $0x4,%esp
537f99:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
537f9d:	75 09                	jne    0x537fa8
537f9f:	56                   	push   %esi
537fa0:	e8 7b 73 fe ff       	call   0x51f320
537fa5:	83 c4 04             	add    $0x4,%esp
537fa8:	5e                   	pop    %esi
537fa9:	5d                   	pop    %ebp
537faa:	c3                   	ret
537fab:	cc                   	int3
537fac:	cc                   	int3
537fad:	cc                   	int3
537fae:	cc                   	int3
537faf:	cc                   	int3
537fb0:	55                   	push   %ebp
537fb1:	8b ec                	mov    %esp,%ebp
537fb3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
537fb6:	83 ec 34             	sub    $0x34,%esp
537fb9:	8b 55 08             	mov    0x8(%ebp),%edx
537fbc:	85 c9                	test   %ecx,%ecx
537fbe:	78 1d                	js     0x537fdd
537fc0:	8b 42 10             	mov    0x10(%edx),%eax
537fc3:	03 c9                	add    %ecx,%ecx
537fc5:	8b 44 c8 0c          	mov    0xc(%eax,%ecx,8),%eax
537fc9:	66 83 48 4e 08       	orw    $0x8,0x4e(%eax)
537fce:	8b 42 10             	mov    0x10(%edx),%eax
537fd1:	8b 40 1c             	mov    0x1c(%eax),%eax
537fd4:	66 83 48 4e 08       	orw    $0x8,0x4e(%eax)
537fd9:	83 62 18 ef          	andl   $0xffffffef,0x18(%edx)
537fdd:	83 7a 38 00          	cmpl   $0x0,0x38(%edx)
537fe1:	0f 85 76 01 00 00    	jne    0x53815d
537fe7:	33 c9                	xor    %ecx,%ecx
537fe9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
537fec:	39 4a 14             	cmp    %ecx,0x14(%edx)
537fef:	0f 8e 68 01 00 00    	jle    0x53815d
537ff5:	53                   	push   %ebx
537ff6:	56                   	push   %esi
537ff7:	33 db                	xor    %ebx,%ebx
537ff9:	57                   	push   %edi
537ffa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
537ffd:	0f 1f 00             	nopl   (%eax)
538000:	8b 42 10             	mov    0x10(%edx),%eax
538003:	8b 5c 03 0c          	mov    0xc(%ebx,%eax,1),%ebx
538007:	f6 43 4e 08          	testb  $0x8,0x4e(%ebx)
53800b:	0f 84 33 01 00 00    	je     0x538144
538011:	0f 10 43 08          	movups 0x8(%ebx),%xmm0
538015:	8d 43 18             	lea    0x18(%ebx),%eax
538018:	50                   	push   %eax
538019:	0f 11 45 ec          	movups %xmm0,-0x14(%ebp)
53801d:	0f 10 43 28          	movups 0x28(%ebx),%xmm0
538021:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
538028:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
53802f:	0f 11 45 dc          	movups %xmm0,-0x24(%ebp)
538033:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
53803a:	0f 11 45 cc          	movups %xmm0,-0x34(%ebp)
53803e:	c7 43 34 00 00 00 00 	movl   $0x0,0x34(%ebx)
538045:	e8 96 59 ff ff       	call   0x52d9e0
53804a:	0f 10 45 dc          	movups -0x24(%ebp),%xmm0
53804e:	83 c4 04             	add    $0x4,%esp
538051:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
538056:	66 0f 7e c7          	movd   %xmm0,%edi
53805a:	85 ff                	test   %edi,%edi
53805c:	74 60                	je     0x5380be
53805e:	66 90                	xchg   %ax,%ax
538060:	8b 77 08             	mov    0x8(%edi),%esi
538063:	85 f6                	test   %esi,%esi
538065:	74 51                	je     0x5380b8
538067:	ff 76 1c             	push   0x1c(%esi)
53806a:	6a 00                	push   $0x0
53806c:	e8 ef a1 fe ff       	call   0x522260
538071:	8b 06                	mov    (%esi),%eax
538073:	83 c4 08             	add    $0x8,%esp
538076:	85 c0                	test   %eax,%eax
538078:	74 09                	je     0x538083
53807a:	50                   	push   %eax
53807b:	e8 10 2d fb ff       	call   0x4ead90
538080:	83 c4 04             	add    $0x4,%esp
538083:	8b 46 04             	mov    0x4(%esi),%eax
538086:	85 c0                	test   %eax,%eax
538088:	74 09                	je     0x538093
53808a:	50                   	push   %eax
53808b:	e8 00 2d fb ff       	call   0x4ead90
538090:	83 c4 04             	add    $0x4,%esp
538093:	8b 46 0c             	mov    0xc(%esi),%eax
538096:	85 c0                	test   %eax,%eax
538098:	74 0b                	je     0x5380a5
53809a:	50                   	push   %eax
53809b:	6a 00                	push   $0x0
53809d:	e8 0e e7 fe ff       	call   0x5267b0
5380a2:	83 c4 08             	add    $0x8,%esp
5380a5:	ff 76 10             	push   0x10(%esi)
5380a8:	6a 00                	push   $0x0
5380aa:	e8 b1 5c ff ff       	call   0x52dd60
5380af:	56                   	push   %esi
5380b0:	e8 db 2c fb ff       	call   0x4ead90
5380b5:	83 c4 0c             	add    $0xc,%esp
5380b8:	8b 3f                	mov    (%edi),%edi
5380ba:	85 ff                	test   %edi,%edi
5380bc:	75 a2                	jne    0x538060
5380be:	8d 45 cc             	lea    -0x34(%ebp),%eax
5380c1:	50                   	push   %eax
5380c2:	e8 19 59 ff ff       	call   0x52d9e0
5380c7:	8b 75 f4             	mov    -0xc(%ebp),%esi
5380ca:	83 c4 04             	add    $0x4,%esp
5380cd:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
5380d4:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
5380db:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
5380e2:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
5380e9:	85 f6                	test   %esi,%esi
5380eb:	74 21                	je     0x53810e
5380ed:	0f 1f 00             	nopl   (%eax)
5380f0:	8b 46 08             	mov    0x8(%esi),%eax
5380f3:	85 c0                	test   %eax,%eax
5380f5:	74 11                	je     0x538108
5380f7:	83 40 20 ff          	addl   $0xffffffff,0x20(%eax)
5380fb:	75 0b                	jne    0x538108
5380fd:	50                   	push   %eax
5380fe:	6a 00                	push   $0x0
538100:	e8 fb 57 fc ff       	call   0x4fd900
538105:	83 c4 08             	add    $0x8,%esp
538108:	8b 36                	mov    (%esi),%esi
53810a:	85 f6                	test   %esi,%esi
53810c:	75 e2                	jne    0x5380f0
53810e:	8d 45 ec             	lea    -0x14(%ebp),%eax
538111:	50                   	push   %eax
538112:	e8 c9 58 ff ff       	call   0x52d9e0
538117:	8d 43 38             	lea    0x38(%ebx),%eax
53811a:	50                   	push   %eax
53811b:	e8 c0 58 ff ff       	call   0x52d9e0
538120:	0f b7 43 4e          	movzwl 0x4e(%ebx),%eax
538124:	83 c4 08             	add    $0x8,%esp
538127:	c7 43 48 00 00 00 00 	movl   $0x0,0x48(%ebx)
53812e:	a8 01                	test   $0x1,%al
538130:	74 03                	je     0x538135
538132:	ff 43 04             	incl   0x4(%ebx)
538135:	8b 55 08             	mov    0x8(%ebp),%edx
538138:	25 f6 ff 00 00       	and    $0xfff6,%eax
53813d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
538140:	66 89 43 4e          	mov    %ax,0x4e(%ebx)
538144:	8b 5d fc             	mov    -0x4(%ebp),%ebx
538147:	41                   	inc    %ecx
538148:	83 c3 10             	add    $0x10,%ebx
53814b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53814e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
538151:	3b 4a 14             	cmp    0x14(%edx),%ecx
538154:	0f 8c a6 fe ff ff    	jl     0x538000
53815a:	5f                   	pop    %edi
53815b:	5e                   	pop    %esi
53815c:	5b                   	pop    %ebx
53815d:	8b e5                	mov    %ebp,%esp
53815f:	5d                   	pop    %ebp
538160:	c3                   	ret
538161:	cc                   	int3
538162:	cc                   	int3
538163:	cc                   	int3
538164:	cc                   	int3
538165:	cc                   	int3
538166:	cc                   	int3
538167:	cc                   	int3
538168:	cc                   	int3
538169:	cc                   	int3
53816a:	cc                   	int3
53816b:	cc                   	int3
53816c:	cc                   	int3
53816d:	cc                   	int3
53816e:	cc                   	int3
53816f:	cc                   	int3
538170:	55                   	push   %ebp
538171:	8b ec                	mov    %esp,%ebp
538173:	83 ec 2c             	sub    $0x2c,%esp
538176:	a1 d4 89 72 00       	mov    0x7289d4,%eax
53817b:	33 c5                	xor    %ebp,%eax
53817d:	89 45 fc             	mov    %eax,-0x4(%ebp)
538180:	8b 45 0c             	mov    0xc(%ebp),%eax
538183:	8b 55 08             	mov    0x8(%ebp),%edx
538186:	89 55 dc             	mov    %edx,-0x24(%ebp)
538189:	89 45 d4             	mov    %eax,-0x2c(%ebp)
53818c:	53                   	push   %ebx
53818d:	56                   	push   %esi
53818e:	57                   	push   %edi
53818f:	85 c0                	test   %eax,%eax
538191:	0f 84 ae 00 00 00    	je     0x538245
538197:	33 ff                	xor    %edi,%edi
538199:	39 38                	cmp    %edi,(%eax)
53819b:	0f 8e a4 00 00 00    	jle    0x538245
5381a1:	8d 58 04             	lea    0x4(%eax),%ebx
5381a4:	8b 33                	mov    (%ebx),%esi
5381a6:	85 f6                	test   %esi,%esi
5381a8:	0f 84 8b 00 00 00    	je     0x538239
5381ae:	8b 42 18             	mov    0x18(%edx),%eax
5381b1:	8b c8                	mov    %eax,%ecx
5381b3:	81 e1 10 90 00 00    	and    $0x9010,%ecx
5381b9:	c7 45 e4 d0 3c 51 00 	movl   $0x513cd0,-0x1c(%ebp)
5381c0:	25 ef 6f ff ff       	and    $0xffff6fef,%eax
5381c5:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5381c8:	8b 0a                	mov    (%edx),%ecx
5381ca:	89 42 18             	mov    %eax,0x18(%edx)
5381cd:	8b 46 18             	mov    0x18(%esi),%eax
5381d0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5381d3:	c7 45 e8 e0 47 51 00 	movl   $0x5147e0,-0x18(%ebp)
5381da:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5381e1:	89 55 f8             	mov    %edx,-0x8(%ebp)
5381e4:	01 81 d0 00 00 00    	add    %eax,0xd0(%ecx)
5381ea:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5381ed:	8b 01                	mov    (%ecx),%eax
5381ef:	8b 40 78             	mov    0x78(%eax),%eax
5381f2:	39 81 d0 00 00 00    	cmp    %eax,0xd0(%ecx)
5381f8:	7f 5e                	jg     0x538258
5381fa:	8d 45 e0             	lea    -0x20(%ebp),%eax
5381fd:	56                   	push   %esi
5381fe:	50                   	push   %eax
5381ff:	e8 ac 7d 02 00       	call   0x55ffb0
538204:	8b 55 dc             	mov    -0x24(%ebp),%edx
538207:	83 c4 08             	add    $0x8,%esp
53820a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
53820d:	8b 46 18             	mov    0x18(%esi),%eax
538210:	29 81 d0 00 00 00    	sub    %eax,0xd0(%ecx)
538216:	8b 42 18             	mov    0x18(%edx),%eax
538219:	25 10 80 00 00       	and    $0x8010,%eax
53821e:	09 46 04             	or     %eax,0x4(%esi)
538221:	8b 45 d8             	mov    -0x28(%ebp),%eax
538224:	09 42 18             	or     %eax,0x18(%edx)
538227:	83 7a 14 00          	cmpl   $0x0,0x14(%edx)
53822b:	7f 3a                	jg     0x538267
53822d:	8b 45 e0             	mov    -0x20(%ebp),%eax
538230:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
538234:	7f 31                	jg     0x538267
538236:	8b 45 d4             	mov    -0x2c(%ebp),%eax
538239:	47                   	inc    %edi
53823a:	83 c3 14             	add    $0x14,%ebx
53823d:	3b 38                	cmp    (%eax),%edi
53823f:	0f 8c 5f ff ff ff    	jl     0x5381a4
538245:	5f                   	pop    %edi
538246:	5e                   	pop    %esi
538247:	33 c0                	xor    %eax,%eax
538249:	5b                   	pop    %ebx
53824a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53824d:	33 cd                	xor    %ebp,%ecx
53824f:	e8 86 92 0a 00       	call   0x5e14da
538254:	8b e5                	mov    %ebp,%esp
538256:	5d                   	pop    %ebp
538257:	c3                   	ret
538258:	50                   	push   %eax
538259:	68 30 90 6b 00       	push   $0x6b9030
53825e:	51                   	push   %ecx
53825f:	e8 fc af fe ff       	call   0x523260
538264:	83 c4 0c             	add    $0xc,%esp
538267:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53826a:	b8 02 00 00 00       	mov    $0x2,%eax
53826f:	5f                   	pop    %edi
538270:	5e                   	pop    %esi
538271:	33 cd                	xor    %ebp,%ecx
538273:	5b                   	pop    %ebx
538274:	e8 61 92 0a 00       	call   0x5e14da
538279:	8b e5                	mov    %ebp,%esp
53827b:	5d                   	pop    %ebp
53827c:	c3                   	ret
53827d:	cc                   	int3
53827e:	cc                   	int3
53827f:	cc                   	int3
538280:	55                   	push   %ebp
538281:	8b ec                	mov    %esp,%ebp
538283:	83 ec 20             	sub    $0x20,%esp
538286:	a1 d4 89 72 00       	mov    0x7289d4,%eax
53828b:	33 c5                	xor    %ebp,%eax
53828d:	89 45 fc             	mov    %eax,-0x4(%ebp)
538290:	56                   	push   %esi
538291:	8b 75 0c             	mov    0xc(%ebp),%esi
538294:	57                   	push   %edi
538295:	8b 7d 08             	mov    0x8(%ebp),%edi
538298:	85 f6                	test   %esi,%esi
53829a:	75 12                	jne    0x5382ae
53829c:	5f                   	pop    %edi
53829d:	33 c0                	xor    %eax,%eax
53829f:	5e                   	pop    %esi
5382a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5382a3:	33 cd                	xor    %ebp,%ecx
5382a5:	e8 30 92 0a 00       	call   0x5e14da
5382aa:	8b e5                	mov    %ebp,%esp
5382ac:	5d                   	pop    %ebp
5382ad:	c3                   	ret
5382ae:	8b 47 18             	mov    0x18(%edi),%eax
5382b1:	8b 0f                	mov    (%edi),%ecx
5382b3:	53                   	push   %ebx
5382b4:	8b d8                	mov    %eax,%ebx
5382b6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5382b9:	25 ef 6f ff ff       	and    $0xffff6fef,%eax
5382be:	c7 45 e4 d0 3c 51 00 	movl   $0x513cd0,-0x1c(%ebp)
5382c5:	89 47 18             	mov    %eax,0x18(%edi)
5382c8:	81 e3 10 90 00 00    	and    $0x9010,%ebx
5382ce:	8b 46 18             	mov    0x18(%esi),%eax
5382d1:	c7 45 e8 e0 47 51 00 	movl   $0x5147e0,-0x18(%ebp)
5382d8:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5382df:	89 7d f8             	mov    %edi,-0x8(%ebp)
5382e2:	01 81 d0 00 00 00    	add    %eax,0xd0(%ecx)
5382e8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5382eb:	8b 01                	mov    (%ecx),%eax
5382ed:	8b 40 78             	mov    0x78(%eax),%eax
5382f0:	39 81 d0 00 00 00    	cmp    %eax,0xd0(%ecx)
5382f6:	7e 25                	jle    0x53831d
5382f8:	50                   	push   %eax
5382f9:	68 30 90 6b 00       	push   $0x6b9030