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
51345a:	e8 01 8f fc ff       	call   0x4dc360
51345f:	83 c4 10             	add    $0x10,%esp
513462:	85 c0                	test   %eax,%eax
513464:	0f 8e d7 00 00 00    	jle    0x513541
51346a:	ff b6 d8 02 00 00    	push   0x2d8(%esi)
513470:	8d ae 20 01 00 00    	lea    0x120(%esi),%ebp
513476:	57                   	push   %edi
513477:	e8 34 cc fd ff       	call   0x4f00b0
51347c:	83 c4 04             	add    $0x4,%esp
51347f:	50                   	push   %eax
513480:	55                   	push   %ebp
513481:	e8 5a 04 fe ff       	call   0x4f38e0
513486:	83 c4 0c             	add    $0xc,%esp
513489:	85 c0                	test   %eax,%eax
51348b:	0f 85 b0 00 00 00    	jne    0x513541
513491:	8b 74 24 24          	mov    0x24(%esp),%esi
513495:	57                   	push   %edi
513496:	83 c6 e8             	add    $0xffffffe8,%esi
513499:	e8 b2 3d fd ff       	call   0x4e7250
51349e:	83 c4 04             	add    $0x4,%esp
5134a1:	56                   	push   %esi
5134a2:	85 c0                	test   %eax,%eax
5134a4:	74 32                	je     0x5134d8
5134a6:	8b 7c 24 20          	mov    0x20(%esp),%edi
5134aa:	8b 44 24 24          	mov    0x24(%esp),%eax
5134ae:	83 c7 08             	add    $0x8,%edi
5134b1:	57                   	push   %edi
5134b2:	83 c0 08             	add    $0x8,%eax
5134b5:	50                   	push   %eax
5134b6:	55                   	push   %ebp
5134b7:	e8 14 0c fe ff       	call   0x4f40d0
5134bc:	83 c4 10             	add    $0x10,%esp
5134bf:	85 c0                	test   %eax,%eax
5134c1:	75 7e                	jne    0x513541
5134c3:	6a 10                	push   $0x10
5134c5:	8d 04 37             	lea    (%edi,%esi,1),%eax
5134c8:	50                   	push   %eax
5134c9:	55                   	push   %ebp
5134ca:	e8 91 16 fe ff       	call   0x4f4b60
5134cf:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5134d3:	83 c4 0c             	add    $0xc,%esp
5134d6:	eb 69                	jmp    0x513541
5134d8:	8b 44 24 20          	mov    0x20(%esp),%eax
5134dc:	83 c0 08             	add    $0x8,%eax
5134df:	50                   	push   %eax
5134e0:	8b 44 24 28          	mov    0x28(%esp),%eax
5134e4:	83 c0 08             	add    $0x8,%eax
5134e7:	50                   	push   %eax
5134e8:	55                   	push   %ebp
5134e9:	e8 02 05 fe ff       	call   0x4f39f0
5134ee:	83 c4 10             	add    $0x10,%esp
5134f1:	85 c0                	test   %eax,%eax
5134f3:	75 4c                	jne    0x513541
5134f5:	6a 10                	push   $0x10
5134f7:	57                   	push   %edi
5134f8:	e8 b3 cb fd ff       	call   0x4f00b0
5134fd:	83 c4 04             	add    $0x4,%esp
513500:	50                   	push   %eax
513501:	55                   	push   %ebp
513502:	e8 59 16 fe ff       	call   0x4f4b60
513507:	8b 44 24 2c          	mov    0x2c(%esp),%eax
51350b:	83 c4 0c             	add    $0xc,%esp
51350e:	83 c0 08             	add    $0x8,%eax
513511:	03 c6                	add    %esi,%eax
513513:	6a 10                	push   $0x10
513515:	50                   	push   %eax
513516:	57                   	push   %edi
513517:	e8 94 cb fd ff       	call   0x4f00b0
51351c:	83 c4 04             	add    $0x4,%esp
51351f:	50                   	push   %eax
513520:	e8 2b e5 ee ff       	call   0x401a50
513525:	83 c4 0c             	add    $0xc,%esp
513528:	85 c0                	test   %eax,%eax
51352a:	74 13                	je     0x51353f
51352c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
513530:	83 c0 08             	add    $0x8,%eax
513533:	56                   	push   %esi
513534:	50                   	push   %eax
513535:	e8 a6 e4 ee ff       	call   0x4019e0
51353a:	83 c4 08             	add    $0x8,%esp
51353d:	eb 02                	jmp    0x513541
51353f:	8b de                	mov    %esi,%ebx
513541:	8b 44 24 10          	mov    0x10(%esp),%eax
513545:	5f                   	pop    %edi
513546:	5e                   	pop    %esi
513547:	5d                   	pop    %ebp
513548:	c7 80 1c 01 00 00 00 	movl   $0x0,0x11c(%eax)
51354f:	00 00 00
513552:	c7 80 d8 02 00 00 ff 	movl   $0xffffffff,0x2d8(%eax)
513559:	ff ff ff
51355c:	8b c3                	mov    %ebx,%eax
51355e:	5b                   	pop    %ebx
51355f:	59                   	pop    %ecx
513560:	c3                   	ret
513561:	5f                   	pop    %edi
513562:	5e                   	pop    %esi
513563:	83 cb ff             	or     $0xffffffff,%ebx
513566:	5d                   	pop    %ebp
513567:	8b c3                	mov    %ebx,%eax
513569:	5b                   	pop    %ebx
51356a:	59                   	pop    %ecx
51356b:	c3                   	ret
51356c:	83 be 1c 01 00 00 00 	cmpl   $0x0,0x11c(%esi)
513573:	74 28                	je     0x51359d
513575:	8b 5c 24 20          	mov    0x20(%esp),%ebx
513579:	85 db                	test   %ebx,%ebx
51357b:	74 60                	je     0x5135dd
51357d:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
513582:	8d ae 20 01 00 00    	lea    0x120(%esi),%ebp
513588:	75 1c                	jne    0x5135a6
51358a:	8b 74 24 24          	mov    0x24(%esp),%esi
51358e:	56                   	push   %esi
51358f:	53                   	push   %ebx
513590:	55                   	push   %ebp
513591:	e8 4a 03 fe ff       	call   0x4f38e0
513596:	83 c4 0c             	add    $0xc,%esp
513599:	85 c0                	test   %eax,%eax
51359b:	74 38                	je     0x5135d5
51359d:	5f                   	pop    %edi
51359e:	5e                   	pop    %esi
51359f:	5d                   	pop    %ebp
5135a0:	83 c8 ff             	or     $0xffffffff,%eax
5135a3:	5b                   	pop    %ebx
5135a4:	59                   	pop    %ecx
5135a5:	c3                   	ret
5135a6:	57                   	push   %edi
5135a7:	e8 a4 3c fd ff       	call   0x4e7250
5135ac:	8b 74 24 28          	mov    0x28(%esp),%esi
5135b0:	83 c4 04             	add    $0x4,%esp
5135b3:	85 c0                	test   %eax,%eax
5135b5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5135b9:	56                   	push   %esi
5135ba:	50                   	push   %eax
5135bb:	53                   	push   %ebx
5135bc:	55                   	push   %ebp
5135bd:	74 0a                	je     0x5135c9
5135bf:	e8 0c 0b fe ff       	call   0x4f40d0
5135c4:	83 c4 10             	add    $0x10,%esp
5135c7:	eb d0                	jmp    0x513599
5135c9:	e8 22 04 fe ff       	call   0x4f39f0
5135ce:	83 c4 10             	add    $0x10,%esp
5135d1:	85 c0                	test   %eax,%eax
5135d3:	75 c8                	jne    0x51359d
5135d5:	5f                   	pop    %edi
5135d6:	8b c6                	mov    %esi,%eax
5135d8:	5e                   	pop    %esi
5135d9:	5d                   	pop    %ebp
5135da:	5b                   	pop    %ebx
5135db:	59                   	pop    %ecx
5135dc:	c3                   	ret
5135dd:	57                   	push   %edi
5135de:	e8 6d 3c fd ff       	call   0x4e7250
5135e3:	83 c4 04             	add    $0x4,%esp
5135e6:	85 c0                	test   %eax,%eax
5135e8:	75 34                	jne    0x51361e
5135ea:	8b 86 d0 02 00 00    	mov    0x2d0(%esi),%eax
5135f0:	85 c0                	test   %eax,%eax
5135f2:	78 a9                	js     0x51359d
5135f4:	50                   	push   %eax
5135f5:	57                   	push   %edi
5135f6:	e8 b5 ca fd ff       	call   0x4f00b0
5135fb:	83 c4 04             	add    $0x4,%esp
5135fe:	50                   	push   %eax
5135ff:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513605:	50                   	push   %eax
513606:	e8 75 11 fe ff       	call   0x4f4780
51360b:	83 c4 0c             	add    $0xc,%esp
51360e:	85 c0                	test   %eax,%eax
513610:	75 8b                	jne    0x51359d
513612:	5f                   	pop    %edi
513613:	89 86 1c 01 00 00    	mov    %eax,0x11c(%esi)
513619:	5e                   	pop    %esi
51361a:	5d                   	pop    %ebp
51361b:	5b                   	pop    %ebx
51361c:	59                   	pop    %ecx