53c044:	0f 11 45 ec          	movups %xmm0,-0x14(%ebp)
53c048:	89 45 b4             	mov    %eax,-0x4c(%ebp)
53c04b:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
53c052:	66 3b 4a 2a          	cmp    0x2a(%edx),%cx
53c056:	0f 8d 16 01 00 00    	jge    0x53c172
53c05c:	33 d2                	xor    %edx,%edx
53c05e:	56                   	push   %esi
53c05f:	89 55 cc             	mov    %edx,-0x34(%ebp)
53c062:	57                   	push   %edi
53c063:	8b 74 02 04          	mov    0x4(%edx,%eax,1),%esi
53c067:	8d 45 dc             	lea    -0x24(%ebp),%eax
53c06a:	56                   	push   %esi
53c06b:	50                   	push   %eax
53c06c:	89 75 d4             	mov    %esi,-0x2c(%ebp)
53c06f:	e8 fc ed fb ff       	call   0x4fae70
53c074:	8b f8                	mov    %eax,%edi
53c076:	56                   	push   %esi
53c077:	89 7d bc             	mov    %edi,-0x44(%ebp)
53c07a:	e8 31 75 fe ff       	call   0x5235b0
53c07f:	83 c4 0c             	add    $0xc,%esp
53c082:	88 43 0d             	mov    %al,0xd(%ebx)
53c085:	85 ff                	test   %edi,%edi
53c087:	0f 84 89 00 00 00    	je     0x53c116
53c08d:	8d 4f 01             	lea    0x1(%edi),%ecx
53c090:	8a 07                	mov    (%edi),%al
53c092:	47                   	inc    %edi
53c093:	84 c0                	test   %al,%al
53c095:	75 f9                	jne    0x53c090
53c097:	2b f9                	sub    %ecx,%edi
53c099:	8b 0b                	mov    (%ebx),%ecx
53c09b:	81 e7 ff ff ff 3f    	and    $0x3fffffff,%edi
53c0a1:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
53c0a4:	85 c9                	test   %ecx,%ecx
53c0a6:	75 04                	jne    0x53c0ac
53c0a8:	33 f6                	xor    %esi,%esi
53c0aa:	eb 14                	jmp    0x53c0c0
53c0ac:	8b f1                	mov    %ecx,%esi
53c0ae:	8d 56 01             	lea    0x1(%esi),%edx
53c0b1:	8a 06                	mov    (%esi),%al
53c0b3:	46                   	inc    %esi
53c0b4:	84 c0                	test   %al,%al
53c0b6:	75 f9                	jne    0x53c0b1
53c0b8:	2b f2                	sub    %edx,%esi
53c0ba:	81 e6 ff ff ff 3f    	and    $0x3fffffff,%esi
53c0c0:	8d 47 02             	lea    0x2(%edi),%eax
53c0c3:	03 c6                	add    %esi,%eax
53c0c5:	99                   	cltd
53c0c6:	52                   	push   %edx
53c0c7:	50                   	push   %eax
53c0c8:	51                   	push   %ecx
53c0c9:	ff 75 d8             	push   -0x28(%ebp)
53c0cc:	e8 8f 54 fe ff       	call   0x521560
53c0d1:	8b c8                	mov    %eax,%ecx
53c0d3:	83 c4 10             	add    $0x10,%esp
53c0d6:	89 4d c0             	mov    %ecx,-0x40(%ebp)
53c0d9:	85 c9                	test   %ecx,%ecx
53c0db:	75 16                	jne    0x53c0f3
53c0dd:	8b 45 c4             	mov    -0x3c(%ebp),%eax
53c0e0:	85 c0                	test   %eax,%eax
53c0e2:	74 0f                	je     0x53c0f3
53c0e4:	50                   	push   %eax
53c0e5:	ff 75 d8             	push   -0x28(%ebp)
53c0e8:	e8 83 52 fe ff       	call   0x521370
53c0ed:	8b 4d c0             	mov    -0x40(%ebp),%ecx
53c0f0:	83 c4 08             	add    $0x8,%esp
53c0f3:	89 0b                	mov    %ecx,(%ebx)
53c0f5:	85 c9                	test   %ecx,%ecx
53c0f7:	74 1a                	je     0x53c113
53c0f9:	8d 47 01             	lea    0x1(%edi),%eax
53c0fc:	50                   	push   %eax
53c0fd:	ff 75 bc             	push   -0x44(%ebp)
53c100:	8d 46 01             	lea    0x1(%esi),%eax
53c103:	03 c1                	add    %ecx,%eax
53c105:	50                   	push   %eax
53c106:	e8 f5 6d 0a 00       	call   0x5e2f00
53c10b:	83 c4 0c             	add    $0xc,%esp
53c10e:	66 83 4b 10 04       	orw    $0x4,0x10(%ebx)
53c113:	8b 75 d4             	mov    -0x2c(%ebp),%esi
53c116:	80 7b 0d 40          	cmpb   $0x40,0xd(%ebx)
53c11a:	7f 06                	jg     0x53c122
53c11c:	8a 45 14             	mov    0x14(%ebp),%al
53c11f:	88 43 0d             	mov    %al,0xd(%ebx)
53c122:	56                   	push   %esi
53c123:	ff 75 b8             	push   -0x48(%ebp)
53c126:	e8 b5 a1 fe ff       	call   0x5262e0
53c12b:	83 c4 08             	add    $0x8,%esp
53c12e:	85 c0                	test   %eax,%eax
53c130:	74 16                	je     0x53c148
53c132:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
53c136:	75 10                	jne    0x53c148
53c138:	ff 30                	push   (%eax)
53c13a:	ff 75 d8             	push   -0x28(%ebp)
53c13d:	e8 6e 55 fe ff       	call   0x5216b0
53c142:	83 c4 08             	add    $0x8,%esp
53c145:	89 43 08             	mov    %eax,0x8(%ebx)
53c148:	8b 45 c8             	mov    -0x38(%ebp),%eax
53c14b:	83 c3 14             	add    $0x14,%ebx
53c14e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
53c151:	8b 55 cc             	mov    -0x34(%ebp),%edx
53c154:	41                   	inc    %ecx
53c155:	83 c2 14             	add    $0x14,%edx
53c158:	89 4d d0             	mov    %ecx,-0x30(%ebp)
53c15b:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
53c15f:	3b c8                	cmp    %eax,%ecx
53c161:	89 55 cc             	mov    %edx,-0x34(%ebp)
53c164:	8b 45 b4             	mov    -0x4c(%ebp),%eax
53c167:	0f 8c f6 fe ff ff    	jl     0x53c063
53c16d:	8b 55 c8             	mov    -0x38(%ebp),%edx
53c170:	5f                   	pop    %edi
53c171:	5e                   	pop    %esi
53c172:	b8 01 00 00 00       	mov    $0x1,%eax
53c177:	66 89 42 30          	mov    %ax,0x30(%edx)
53c17b:	5b                   	pop    %ebx
53c17c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53c17f:	33 cd                	xor    %ebp,%ecx
53c181:	e8 54 53 0a 00       	call   0x5e14da
53c186:	8b e5                	mov    %ebp,%esp
53c188:	5d                   	pop    %ebp
53c189:	c3                   	ret
53c18a:	cc                   	int3
53c18b:	cc                   	int3
53c18c:	cc                   	int3
53c18d:	cc                   	int3
53c18e:	cc                   	int3
53c18f:	cc                   	int3
53c190:	55                   	push   %ebp
53c191:	8b ec                	mov    %esp,%ebp
53c193:	8b 45 0c             	mov    0xc(%ebp),%eax
53c196:	85 c0                	test   %eax,%eax
53c198:	74 0e                	je     0x53c1a8
53c19a:	6a 01                	push   $0x1
53c19c:	50                   	push   %eax
53c19d:	ff 75 08             	push   0x8(%ebp)
53c1a0:	e8 4b cc fb ff       	call   0x4f8df0
53c1a5:	83 c4 0c             	add    $0xc,%esp
53c1a8:	5d                   	pop    %ebp
53c1a9:	c3                   	ret
53c1aa:	cc                   	int3
53c1ab:	cc                   	int3
53c1ac:	cc                   	int3
53c1ad:	cc                   	int3
53c1ae:	cc                   	int3
53c1af:	cc                   	int3
53c1b0:	55                   	push   %ebp
53c1b1:	8b ec                	mov    %esp,%ebp
53c1b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
53c1b6:	8a 45 0c             	mov    0xc(%ebp),%al
53c1b9:	88 01                	mov    %al,(%ecx)
53c1bb:	8b 45 10             	mov    0x10(%ebp),%eax
53c1be:	89 41 04             	mov    %eax,0x4(%ecx)
53c1c1:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
53c1c8:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
53c1cf:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
53c1d6:	5d                   	pop    %ebp
53c1d7:	c3                   	ret
53c1d8:	cc                   	int3
53c1d9:	cc                   	int3
53c1da:	cc                   	int3
53c1db:	cc                   	int3
53c1dc:	cc                   	int3
53c1dd:	cc                   	int3
53c1de:	cc                   	int3
53c1df:	cc                   	int3
53c1e0:	55                   	push   %ebp
53c1e1:	8b ec                	mov    %esp,%ebp
53c1e3:	83 ec 30             	sub    $0x30,%esp
53c1e6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
53c1eb:	33 c5                	xor    %ebp,%eax
53c1ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
53c1f0:	8b 45 10             	mov    0x10(%ebp),%eax
53c1f3:	53                   	push   %ebx
53c1f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
53c1f7:	57                   	push   %edi
53c1f8:	8b 7d 0c             	mov    0xc(%ebp),%edi
53c1fb:	89 45 d8             	mov    %eax,-0x28(%ebp)
53c1fe:	8d 45 f8             	lea    -0x8(%ebp),%eax
53c201:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
53c208:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
53c20f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
53c212:	85 ff                	test   %edi,%edi
53c214:	0f 84 84 01 00 00    	je     0x53c39e
53c21a:	56                   	push   %esi
53c21b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
53c220:	6a 00                	push   $0x0
53c222:	6a 4c                	push   $0x4c
53c224:	53                   	push   %ebx
53c225:	e8 b6 51 fe ff       	call   0x5213e0
53c22a:	8b f0                	mov    %eax,%esi
53c22c:	83 c4 0c             	add    $0xc,%esp
53c22f:	85 f6                	test   %esi,%esi
53c231:	0f 84 53 01 00 00    	je     0x53c38a
53c237:	ff 75 d8             	push   -0x28(%ebp)
53c23a:	ff 77 1c             	push   0x1c(%edi)
53c23d:	53                   	push   %ebx
53c23e:	e8 7d b6 fe ff       	call   0x5278c0
53c243:	ff 75 d8             	push   -0x28(%ebp)
53c246:	89 46 1c             	mov    %eax,0x1c(%esi)
53c249:	ff 77 20             	push   0x20(%edi)
53c24c:	53                   	push   %ebx
53c24d:	e8 ce 0c 00 00       	call   0x53cf20
53c252:	89 46 20             	mov    %eax,0x20(%esi)
53c255:	83 c4 18             	add    $0x18,%esp
53c258:	8b 47 24             	mov    0x24(%edi),%eax
53c25b:	85 c0                	test   %eax,%eax
53c25d:	74 11                	je     0x53c270
53c25f:	6a 00                	push   $0x0
53c261:	ff 75 d8             	push   -0x28(%ebp)
53c264:	50                   	push   %eax
53c265:	53                   	push   %ebx
53c266:	e8 f5 45 fc ff       	call   0x500860
53c26b:	83 c4 10             	add    $0x10,%esp
53c26e:	eb 02                	jmp    0x53c272
53c270:	33 c0                	xor    %eax,%eax
53c272:	ff 75 d8             	push   -0x28(%ebp)
53c275:	89 46 24             	mov    %eax,0x24(%esi)
53c278:	ff 77 28             	push   0x28(%edi)
53c27b:	53                   	push   %ebx
53c27c:	e8 3f b6 fe ff       	call   0x5278c0
53c281:	89 46 28             	mov    %eax,0x28(%esi)
53c284:	83 c4 0c             	add    $0xc,%esp
53c287:	8b 47 2c             	mov    0x2c(%edi),%eax
53c28a:	85 c0                	test   %eax,%eax
53c28c:	74 11                	je     0x53c29f
53c28e:	6a 00                	push   $0x0
53c290:	ff 75 d8             	push   -0x28(%ebp)
53c293:	50                   	push   %eax
53c294:	53                   	push   %ebx
53c295:	e8 c6 45 fc ff       	call   0x500860
53c29a:	83 c4 10             	add    $0x10,%esp
53c29d:	eb 02                	jmp    0x53c2a1
53c29f:	33 c0                	xor    %eax,%eax
53c2a1:	ff 75 d8             	push   -0x28(%ebp)
53c2a4:	89 46 2c             	mov    %eax,0x2c(%esi)
53c2a7:	ff 77 30             	push   0x30(%edi)
53c2aa:	53                   	push   %ebx
53c2ab:	e8 10 b6 fe ff       	call   0x5278c0
53c2b0:	89 46 30             	mov    %eax,0x30(%esi)
53c2b3:	83 c4 0c             	add    $0xc,%esp
53c2b6:	8a 07                	mov    (%edi),%al
53c2b8:	88 06                	mov    %al,(%esi)
53c2ba:	8b 45 d0             	mov    -0x30(%ebp),%eax
53c2bd:	89 46 38             	mov    %eax,0x38(%esi)
53c2c0:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
53c2c7:	8b 47 3c             	mov    0x3c(%edi),%eax
53c2ca:	85 c0                	test   %eax,%eax
53c2cc:	74 11                	je     0x53c2df
53c2ce:	6a 00                	push   $0x0
53c2d0:	ff 75 d8             	push   -0x28(%ebp)
53c2d3:	50                   	push   %eax
53c2d4:	53                   	push   %ebx
53c2d5:	e8 86 45 fc ff       	call   0x500860
53c2da:	83 c4 10             	add    $0x10,%esp
53c2dd:	eb 02                	jmp    0x53c2e1
53c2df:	33 c0                	xor    %eax,%eax
53c2e1:	89 46 3c             	mov    %eax,0x3c(%esi)
53c2e4:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
53c2eb:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
53c2f2:	8b 47 04             	mov    0x4(%edi),%eax
53c2f5:	83 e0 df             	and    $0xffffffdf,%eax
53c2f8:	89 46 04             	mov    %eax,0x4(%esi)
53c2fb:	c7 46 14 ff ff ff ff 	movl   $0xffffffff,0x14(%esi)
53c302:	c7 46 18 ff ff ff ff 	movl   $0xffffffff,0x18(%esi)
53c309:	66 8b 47 02          	mov    0x2(%edi),%ax
53c30d:	66 89 46 02          	mov    %ax,0x2(%esi)
53c311:	ff 77 40             	push   0x40(%edi)
53c314:	53                   	push   %ebx
53c315:	e8 26 c4 02 00       	call   0x568740
53c31a:	89 46 40             	mov    %eax,0x40(%esi)
53c31d:	c7 46 44 00 00 00 00 	movl   $0x0,0x44(%esi)
53c324:	ff 77 48             	push   0x48(%edi)
53c327:	53                   	push   %ebx
53c328:	e8 f3 9b 01 00       	call   0x555f20
53c32d:	83 c4 10             	add    $0x10,%esp
53c330:	89 46 48             	mov    %eax,0x48(%esi)
53c333:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
53c337:	74 32                	je     0x53c36b
53c339:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
53c33d:	75 2c                	jne    0x53c36b
53c33f:	8d 45 dc             	lea    -0x24(%ebp),%eax
53c342:	c7 45 e0 10 44 50 00 	movl   $0x504410,-0x20(%ebp)
53c349:	56                   	push   %esi
53c34a:	50                   	push   %eax
53c34b:	c7 45 e4 70 44 50 00 	movl   $0x504470,-0x1c(%ebp)
53c352:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
53c359:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
53c360:	89 75 f4             	mov    %esi,-0xc(%ebp)
53c363:	e8 88 3a 01 00       	call   0x54fdf0
53c368:	83 c4 08             	add    $0x8,%esp
53c36b:	8b 47 10             	mov    0x10(%edi),%eax
53c36e:	89 46 10             	mov    %eax,0x10(%esi)
53c371:	8b 45 d4             	mov    -0x2c(%ebp),%eax
53c374:	89 75 d0             	mov    %esi,-0x30(%ebp)
53c377:	89 30                	mov    %esi,(%eax)
53c379:	8d 46 34             	lea    0x34(%esi),%eax
53c37c:	8b 7f 34             	mov    0x34(%edi),%edi
53c37f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
53c382:	85 ff                	test   %edi,%edi
53c384:	0f 85 96 fe ff ff    	jne    0x53c220
53c38a:	8b 45 f8             	mov    -0x8(%ebp),%eax
53c38d:	5e                   	pop    %esi
53c38e:	5f                   	pop    %edi
53c38f:	5b                   	pop    %ebx
53c390:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53c393:	33 cd                	xor    %ebp,%ecx
53c395:	e8 40 51 0a 00       	call   0x5e14da
53c39a:	8b e5                	mov    %ebp,%esp
53c39c:	5d                   	pop    %ebp
53c39d:	c3                   	ret
53c39e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53c3a1:	33 c0                	xor    %eax,%eax
53c3a3:	5f                   	pop    %edi
53c3a4:	33 cd                	xor    %ebp,%ecx
53c3a6:	5b                   	pop    %ebx
53c3a7:	e8 2e 51 0a 00       	call   0x5e14da
53c3ac:	8b e5                	mov    %ebp,%esp
53c3ae:	5d                   	pop    %ebp
53c3af:	c3                   	ret
53c3b0:	55                   	push   %ebp
53c3b1:	8b ec                	mov    %esp,%ebp
53c3b3:	83 ec 20             	sub    $0x20,%esp
53c3b6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
53c3bb:	33 c5                	xor    %ebp,%eax
53c3bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
53c3c0:	8b 45 08             	mov    0x8(%ebp),%eax
53c3c3:	56                   	push   %esi
53c3c4:	8b 75 0c             	mov    0xc(%ebp),%esi
53c3c7:	c7 45 e4 e0 db 43 00 	movl   $0x43dbe0,-0x1c(%ebp)
53c3ce:	80 78 16 00          	cmpb   $0x0,0x16(%eax)
53c3d2:	89 45 e0             	mov    %eax,-0x20(%ebp)
53c3d5:	74 1b                	je     0x53c3f2
53c3d7:	8d 45 e0             	lea    -0x20(%ebp),%eax
53c3da:	c7 45 e8 30 c2 4f 00 	movl   $0x4fc230,-0x18(%ebp)
53c3e1:	56                   	push   %esi
53c3e2:	50                   	push   %eax
53c3e3:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
53c3ea:	e8 01 3a 01 00       	call   0x54fdf0
53c3ef:	83 c4 08             	add    $0x8,%esp
53c3f2:	33 c0                	xor    %eax,%eax
53c3f4:	c7 45 e8 e0 54 51 00 	movl   $0x5154e0,-0x18(%ebp)
53c3fb:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
53c3ff:	8d 45 e0             	lea    -0x20(%ebp),%eax
53c402:	56                   	push   %esi
53c403:	50                   	push   %eax
53c404:	c7 45 ec 30 6b 51 00 	movl   $0x516b30,-0x14(%ebp)
53c40b:	e8 e0 39 01 00       	call   0x54fdf0
53c410:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53c413:	83 c4 08             	add    $0x8,%esp
53c416:	33 cd                	xor    %ebp,%ecx
53c418:	5e                   	pop    %esi
53c419:	e8 bc 50 0a 00       	call   0x5e14da