513041:	57                   	push   %edi
513042:	e8 69 d0 fd ff       	call   0x4f00b0
513047:	83 c4 04             	add    $0x4,%esp
51304a:	50                   	push   %eax
51304b:	e8 80 fd 0b 00       	call   0x5d2dd0
513050:	83 c4 0c             	add    $0xc,%esp
513053:	89 ae d0 02 00 00    	mov    %ebp,0x2d0(%esi)
513059:	b8 01 00 00 00       	mov    $0x1,%eax
51305e:	5f                   	pop    %edi
51305f:	5e                   	pop    %esi
513060:	5d                   	pop    %ebp
513061:	5b                   	pop    %ebx
513062:	c3                   	ret
513063:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
513067:	8d 45 ff             	lea    -0x1(%ebp),%eax
51306a:	83 f8 0f             	cmp    $0xf,%eax
51306d:	77 8e                	ja     0x512ffd
51306f:	57                   	push   %edi
513070:	e8 db 41 fd ff       	call   0x4e7250
513075:	83 c4 04             	add    $0x4,%esp
513078:	85 c0                	test   %eax,%eax
51307a:	74 81                	je     0x512ffd
51307c:	83 be d0 02 00 00 00 	cmpl   $0x0,0x2d0(%esi)
513083:	0f 8c 74 ff ff ff    	jl     0x512ffd
513089:	55                   	push   %ebp
51308a:	57                   	push   %edi
51308b:	e8 20 d0 fd ff       	call   0x4f00b0
513090:	83 c4 04             	add    $0x4,%esp
513093:	50                   	push   %eax
513094:	53                   	push   %ebx
513095:	e8 36 fd 0b 00       	call   0x5d2dd0
51309a:	83 c4 0c             	add    $0xc,%esp
51309d:	b8 01 00 00 00       	mov    $0x1,%eax
5130a2:	5f                   	pop    %edi
5130a3:	5e                   	pop    %esi
5130a4:	5d                   	pop    %ebp
5130a5:	5b                   	pop    %ebx
5130a6:	c3                   	ret
5130a7:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5130ab:	83 fd ff             	cmp    $0xffffffff,%ebp
5130ae:	75 27                	jne    0x5130d7
5130b0:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
5130b6:	53                   	push   %ebx
5130b7:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
5130bd:	e8 0e fd 0b 00       	call   0x5d2dd0
5130c2:	83 c4 0c             	add    $0xc,%esp
5130c5:	c7 86 d4 02 00 00 01 	movl   $0x1,0x2d4(%esi)
5130cc:	00 00 00
5130cf:	8d 45 02             	lea    0x2(%ebp),%eax
5130d2:	5f                   	pop    %edi
5130d3:	5e                   	pop    %esi
5130d4:	5d                   	pop    %ebp
5130d5:	5b                   	pop    %ebx
5130d6:	c3                   	ret
5130d7:	83 fd 04             	cmp    $0x4,%ebp
5130da:	0f 8c 1d ff ff ff    	jl     0x512ffd
5130e0:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
5130e6:	2b c5                	sub    %ebp,%eax
5130e8:	83 f8 08             	cmp    $0x8,%eax
5130eb:	0f 8c 0c ff ff ff    	jl     0x512ffd
5130f1:	55                   	push   %ebp
5130f2:	53                   	push   %ebx
5130f3:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
5130f9:	e8 d2 fc 0b 00       	call   0x5d2dd0
5130fe:	57                   	push   %edi
5130ff:	e8 4c 41 fd ff       	call   0x4e7250
513104:	83 c4 10             	add    $0x10,%esp
513107:	85 c0                	test   %eax,%eax
513109:	74 22                	je     0x51312d
51310b:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
513111:	2b c5                	sub    %ebp,%eax
513113:	50                   	push   %eax
513114:	8b 86 c8 02 00 00    	mov    0x2c8(%esi),%eax
51311a:	03 c5                	add    %ebp,%eax
51311c:	50                   	push   %eax
51311d:	e8 2e e1 fc ff       	call   0x4e1250
513122:	83 c4 08             	add    $0x8,%esp
513125:	85 c0                	test   %eax,%eax
513127:	0f 8e d0 fe ff ff    	jle    0x512ffd
51312d:	5f                   	pop    %edi
51312e:	c7 86 d4 02 00 00 01 	movl   $0x1,0x2d4(%esi)
513135:	00 00 00
513138:	b8 01 00 00 00       	mov    $0x1,%eax
51313d:	5e                   	pop    %esi
51313e:	5d                   	pop    %ebp
51313f:	5b                   	pop    %ebx
513140:	c3                   	ret
513141:	83 be d4 02 00 00 00 	cmpl   $0x0,0x2d4(%esi)
513148:	0f 84 af fe ff ff    	je     0x512ffd
51314e:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
513155:	0f 84 a2 fe ff ff    	je     0x512ffd
51315b:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
513161:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513167:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
51316d:	50                   	push   %eax
51316e:	e8 2d 18 fe ff       	call   0x4f49a0
513173:	8b 54 24 28          	mov    0x28(%esp),%edx
513177:	83 c4 0c             	add    $0xc,%esp
51317a:	8b 8e cc 02 00 00    	mov    0x2cc(%esi),%ecx
513180:	85 d2                	test   %edx,%edx
513182:	7e 04                	jle    0x513188
513184:	3b d1                	cmp    %ecx,%edx
513186:	7e 02                	jle    0x51318a
513188:	8b d1                	mov    %ecx,%edx
51318a:	8b 86 c8 02 00 00    	mov    0x2c8(%esi),%eax
513190:	2b c2                	sub    %edx,%eax
513192:	52                   	push   %edx
513193:	03 c1                	add    %ecx,%eax
513195:	50                   	push   %eax
513196:	53                   	push   %ebx
513197:	e8 34 fc 0b 00       	call   0x5d2dd0
51319c:	8b 96 cc 02 00 00    	mov    0x2cc(%esi),%edx
5131a2:	83 c4 0c             	add    $0xc,%esp
5131a5:	03 96 c8 02 00 00    	add    0x2c8(%esi),%edx
5131ab:	b9 08 00 00 00       	mov    $0x8,%ecx
5131b0:	49                   	dec    %ecx
5131b1:	80 44 11 f8 01       	addb   $0x1,-0x8(%ecx,%edx,1)
5131b6:	75 04                	jne    0x5131bc
5131b8:	85 c9                	test   %ecx,%ecx
5131ba:	75 f4                	jne    0x5131b0
5131bc:	5f                   	pop    %edi
5131bd:	c7 86 1c 01 00 00 01 	movl   $0x1,0x11c(%esi)
5131c4:	00 00 00
5131c7:	b8 01 00 00 00       	mov    $0x1,%eax
5131cc:	5e                   	pop    %esi
5131cd:	5d                   	pop    %ebp
5131ce:	5b                   	pop    %ebx
5131cf:	c3                   	ret
5131d0:	83 be d4 02 00 00 00 	cmpl   $0x0,0x2d4(%esi)
5131d7:	0f 84 20 fe ff ff    	je     0x512ffd
5131dd:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
5131e4:	0f 84 13 fe ff ff    	je     0x512ffd
5131ea:	57                   	push   %edi
5131eb:	e8 60 40 fd ff       	call   0x4e7250
5131f0:	83 c4 04             	add    $0x4,%esp
5131f3:	85 c0                	test   %eax,%eax
5131f5:	0f 85 02 fe ff ff    	jne    0x512ffd
5131fb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5131ff:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
513205:	51                   	push   %ecx
513206:	2b c1                	sub    %ecx,%eax
513208:	03 86 c8 02 00 00    	add    0x2c8(%esi),%eax
51320e:	53                   	push   %ebx
51320f:	50                   	push   %eax
513210:	e8 bb fb 0b 00       	call   0x5d2dd0
513215:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
51321b:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513221:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
513227:	50                   	push   %eax
513228:	e8 73 17 fe ff       	call   0x4f49a0
51322d:	83 c4 18             	add    $0x18,%esp
513230:	c7 86 1c 01 00 00 01 	movl   $0x1,0x11c(%esi)
513237:	00 00 00
51323a:	b8 01 00 00 00       	mov    $0x1,%eax
51323f:	5f                   	pop    %edi
513240:	5e                   	pop    %esi
513241:	5d                   	pop    %ebp
513242:	5b                   	pop    %ebx
513243:	c3                   	ret
513244:	83 7c 24 1c 0d       	cmpl   $0xd,0x1c(%esp)
513249:	0f 85 ae fd ff ff    	jne    0x512ffd
51324f:	57                   	push   %edi
513250:	e8 5b ce fd ff       	call   0x4f00b0
513255:	f3 0f 7e 03          	movq   (%ebx),%xmm0
513259:	57                   	push   %edi
51325a:	66 0f d6 00          	movq   %xmm0,(%eax)
51325e:	8b 4b 08             	mov    0x8(%ebx),%ecx
513261:	89 48 08             	mov    %ecx,0x8(%eax)
513264:	8a 4b 0c             	mov    0xc(%ebx),%cl
513267:	88 48 0c             	mov    %cl,0xc(%eax)
51326a:	c7 86 d8 02 00 00 0d 	movl   $0xd,0x2d8(%esi)
513271:	00 00 00
513274:	e8 37 ce fd ff       	call   0x4f00b0
513279:	57                   	push   %edi
51327a:	0f b6 70 0b          	movzbl 0xb(%eax),%esi
51327e:	c1 e6 08             	shl    $0x8,%esi
513281:	e8 2a ce fd ff       	call   0x4f00b0
513286:	83 c4 0c             	add    $0xc,%esp
513289:	0f b6 58 0c          	movzbl 0xc(%eax),%ebx
51328d:	0b de                	or     %esi,%ebx
51328f:	83 fb 08             	cmp    $0x8,%ebx
513292:	0f 82 65 fd ff ff    	jb     0x512ffd
513298:	83 eb 08             	sub    $0x8,%ebx
51329b:	57                   	push   %edi
51329c:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5132a0:	e8 ab 3f fd ff       	call   0x4e7250
5132a5:	83 c4 04             	add    $0x4,%esp
5132a8:	85 c0                	test   %eax,%eax
5132aa:	75 10                	jne    0x5132bc
5132ac:	83 fb 10             	cmp    $0x10,%ebx
5132af:	0f 82 48 fd ff ff    	jb     0x512ffd
5132b5:	83 eb 10             	sub    $0x10,%ebx
5132b8:	89 5c 24 18          	mov    %ebx,0x18(%esp)
5132bc:	57                   	push   %edi
5132bd:	c1 eb 08             	shr    $0x8,%ebx
5132c0:	e8 eb cd fd ff       	call   0x4f00b0
5132c5:	57                   	push   %edi
5132c6:	88 58 0b             	mov    %bl,0xb(%eax)
5132c9:	e8 e2 cd fd ff       	call   0x4f00b0
5132ce:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5132d2:	83 c4 08             	add    $0x8,%esp
5132d5:	88 48 0c             	mov    %cl,0xc(%eax)
5132d8:	b8 10 00 00 00       	mov    $0x10,%eax
5132dd:	5f                   	pop    %edi
5132de:	5e                   	pop    %esi
5132df:	5d                   	pop    %ebp
5132e0:	5b                   	pop    %ebx
5132e1:	c3                   	ret
5132e2:	53                   	push   %ebx
5132e3:	e8 e8 cd fd ff       	call   0x4f00d0
5132e8:	8b e8                	mov    %eax,%ebp
5132ea:	83 c4 04             	add    $0x4,%esp
5132ed:	8b 86 94 02 00 00    	mov    0x294(%esi),%eax
5132f3:	85 c0                	test   %eax,%eax
5132f5:	74 0e                	je     0x513305
5132f7:	3b c6                	cmp    %esi,%eax
5132f9:	0f 85 fe fc ff ff    	jne    0x512ffd
5132ff:	89 ad 94 02 00 00    	mov    %ebp,0x294(%ebp)
513305:	57                   	push   %edi
513306:	e8 15 ce fd ff       	call   0x4f0120
51330b:	83 c4 04             	add    $0x4,%esp
51330e:	39 86 c8 02 00 00    	cmp    %eax,0x2c8(%esi)
513314:	75 19                	jne    0x51332f
513316:	53                   	push   %ebx
513317:	e8 04 ce fd ff       	call   0x4f0120
51331c:	83 c4 04             	add    $0x4,%esp
51331f:	89 85 c8 02 00 00    	mov    %eax,0x2c8(%ebp)
513325:	b8 01 00 00 00       	mov    $0x1,%eax
51332a:	5f                   	pop    %edi
51332b:	5e                   	pop    %esi
51332c:	5d                   	pop    %ebp
51332d:	5b                   	pop    %ebx
51332e:	c3                   	ret
51332f:	68 7a 01 00 00       	push   $0x17a
513334:	68 bc 0d 63 00       	push   $0x630dbc
513339:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
51333f:	e8 0c d4 fc ff       	call   0x4e0750
513344:	83 c4 0c             	add    $0xc,%esp
513347:	89 85 c8 02 00 00    	mov    %eax,0x2c8(%ebp)
51334d:	85 c0                	test   %eax,%eax
51334f:	75 0a                	jne    0x51335b
513351:	68 7b 01 00 00       	push   $0x17b
513356:	e9 8c fc ff ff       	jmp    0x512fe7
51335b:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
513361:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
513367:	50                   	push   %eax
513368:	e8 63 fa 0b 00       	call   0x5d2dd0
51336d:	83 c4 0c             	add    $0xc,%esp
513370:	b8 01 00 00 00       	mov    $0x1,%eax
513375:	5f                   	pop    %edi
513376:	5e                   	pop    %esi
513377:	5d                   	pop    %ebp
513378:	5b                   	pop    %ebx
513379:	c3                   	ret
51337a:	5f                   	pop    %edi
51337b:	5e                   	pop    %esi
51337c:	5d                   	pop    %ebp
51337d:	83 c8 ff             	or     $0xffffffff,%eax
513380:	5b                   	pop    %ebx
513381:	c3                   	ret
513382:	66 90                	xchg   %ax,%ax
513384:	32 2f                	xor    (%edi),%ch
513386:	51                   	push   %ecx
513387:	00 e2                	add    %ah,%dl
513389:	32 51 00             	xor    0x0(%ecx),%dl
51338c:	8a 2f                	mov    (%edi),%ch
51338e:	51                   	push   %ecx
51338f:	00 63 30             	add    %ah,0x30(%ebx)
513392:	51                   	push   %ecx
513393:	00 26                	add    %ah,(%esi)
513395:	30 51 00             	xor    %dl,0x0(%ecx)
513398:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
513399:	30 51 00             	xor    %dl,0x0(%ecx)
51339c:	41                   	inc    %ecx
51339d:	31 51 00             	xor    %edx,0x0(%ecx)
5133a0:	44                   	inc    %esp
5133a1:	32 51 00             	xor    0x0(%ecx),%dl
5133a4:	d0 31                	shlb   $1,(%ecx)
5133a6:	51                   	push   %ecx
5133a7:	00 14 30             	add    %dl,(%eax,%esi,1)
5133aa:	51                   	push   %ecx
5133ab:	00 7a 33             	add    %bh,0x33(%edx)
5133ae:	51                   	push   %ecx
5133af:	00 00                	add    %al,(%eax)
5133b1:	0a 0a                	or     (%edx),%cl
5133b3:	0a 0a                	or     (%edx),%cl
5133b5:	0a 0a                	or     (%edx),%cl
5133b7:	0a 01                	or     (%ecx),%al
5133b9:	02 0a                	add    (%edx),%cl
5133bb:	0a 0a                	or     (%edx),%cl
5133bd:	0a 0a                	or     (%edx),%cl
5133bf:	0a 03                	or     (%ebx),%al
5133c1:	04 05                	add    $0x5,%al
5133c3:	06                   	push   %es
5133c4:	0a 0a                	or     (%edx),%cl
5133c6:	07                   	pop    %es
5133c7:	0a 08                	or     (%eax),%cl
5133c9:	0a 0a                	or     (%edx),%cl
5133cb:	0a 0a                	or     (%edx),%cl
5133cd:	0a 0a                	or     (%edx),%cl
5133cf:	0a 0a                	or     (%edx),%cl
5133d1:	0a 0a                	or     (%edx),%cl
5133d3:	0a 0a                	or     (%edx),%cl
5133d5:	09 cc                	or     %ecx,%esp
5133d7:	cc                   	int3
5133d8:	cc                   	int3
5133d9:	cc                   	int3
5133da:	cc                   	int3
5133db:	cc                   	int3
5133dc:	cc                   	int3
5133dd:	cc                   	int3
5133de:	cc                   	int3
5133df:	cc                   	int3
5133e0:	b8 04 00 00 00       	mov    $0x4,%eax
5133e5:	e8 c6 e3 0b 00       	call   0x5d17b0
5133ea:	53                   	push   %ebx
5133eb:	55                   	push   %ebp
5133ec:	56                   	push   %esi
5133ed:	57                   	push   %edi
5133ee:	8b 7c 24 18          	mov    0x18(%esp),%edi
5133f2:	57                   	push   %edi
5133f3:	e8 d8 cc fd ff       	call   0x4f00d0
5133f8:	8b f0                	mov    %eax,%esi
5133fa:	83 c4 04             	add    $0x4,%esp
5133fd:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
513404:	0f 84 93 01 00 00    	je     0x51359d
51340a:	83 be d8 02 00 00 00 	cmpl   $0x0,0x2d8(%esi)
513411:	0f 8c 55 01 00 00    	jl     0x51356c
513417:	57                   	push   %edi
513418:	e8 b3 cc fd ff       	call   0x4f00d0
51341d:	8b f0                	mov    %eax,%esi
51341f:	83 c4 04             	add    $0x4,%esp
513422:	8b 44 24 1c          	mov    0x1c(%esp),%eax
513426:	83 cb ff             	or     $0xffffffff,%ebx
513429:	89 74 24 10          	mov    %esi,0x10(%esp)
51342d:	3b 44 24 20          	cmp    0x20(%esp),%eax
513431:	0f 85 2a 01 00 00    	jne    0x513561
513437:	83 7c 24 24 18       	cmpl   $0x18,0x24(%esp)
51343c:	0f 82 1f 01 00 00    	jb     0x513561
513442:	50                   	push   %eax
513443:	6a 08                	push   $0x8
513445:	57                   	push   %edi
513446:	e8 05 3e fd ff       	call   0x4e7250
51344b:	83 c4 04             	add    $0x4,%esp
51344e:	f7 d8                	neg    %eax
513450:	1b c0                	sbb    %eax,%eax
513452:	83 e0 fb             	and    $0xfffffffb,%eax
513455:	83 c0 18             	add    $0x18,%eax
513458:	50                   	push   %eax
513459:	57                   	push   %edi