582345:	75 4e                	jne    0x582395
582347:	8b b4 9f 88 01 00 00 	mov    0x188(%edi,%ebx,4),%esi
58234e:	8b 44 24 04          	mov    0x4(%esp),%eax
582352:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
582358:	85 c0                	test   %eax,%eax
58235a:	74 05                	je     0x582361
58235c:	e8 4b d0 ff ff       	call   0x57f3ac
582361:	8b c6                	mov    %esi,%eax
582363:	e8 44 04 e8 ff       	call   0x4027ac
582368:	8b e8                	mov    %eax,%ebp
58236a:	8b 44 24 04          	mov    0x4(%esp),%eax
58236e:	89 a8 d8 00 00 00    	mov    %ebp,0xd8(%eax)
582374:	8b 94 9f 18 03 00 00 	mov    0x318(%edi,%ebx,4),%edx
58237b:	8b c5                	mov    %ebp,%eax
58237d:	8b ce                	mov    %esi,%ecx
58237f:	e8 3c 5b e8 ff       	call   0x407ec0
582384:	8b 44 24 04          	mov    0x4(%esp),%eax
582388:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
58238e:	8b 00                	mov    (%eax),%eax
582390:	e9 c4 01 00 00       	jmp    0x582559
582395:	8b 9c 9f 50 02 00 00 	mov    0x250(%edi,%ebx,4),%ebx
58239c:	8b c3                	mov    %ebx,%eax
58239e:	99                   	cltd
58239f:	52                   	push   %edx
5823a0:	50                   	push   %eax
5823a1:	8b 07                	mov    (%edi),%eax
5823a3:	ff 97 f0 03 00 00    	call   *0x3f0(%edi)
5823a9:	85 c0                	test   %eax,%eax
5823ab:	74 07                	je     0x5823b4
5823ad:	33 c0                	xor    %eax,%eax
5823af:	e9 a5 01 00 00       	jmp    0x582559
5823b4:	8b 07                	mov    (%edi),%eax
5823b6:	50                   	push   %eax
5823b7:	8d 44 24 0c          	lea    0xc(%esp),%eax
5823bb:	b9 08 00 00 00       	mov    $0x8,%ecx
5823c0:	ba 01 00 00 00       	mov    $0x1,%edx
5823c5:	ff 97 ec 03 00 00    	call   *0x3ec(%edi)
5823cb:	8d 44 24 08          	lea    0x8(%esp),%eax
5823cf:	e8 e0 93 ff ff       	call   0x57b7b4
5823d4:	8b 44 24 08          	mov    0x8(%esp),%eax
5823d8:	2d 32 6c 63 6e       	sub    $0x6e636c32,%eax
5823dd:	74 12                	je     0x5823f1
5823df:	2d 3a 03 00 00       	sub    $0x33a,%eax
5823e4:	0f 85 6d 01 00 00    	jne    0x582557
5823ea:	33 c0                	xor    %eax,%eax
5823ec:	e9 68 01 00 00       	jmp    0x582559
5823f1:	8b 07                	mov    (%edi),%eax
5823f3:	50                   	push   %eax
5823f4:	e8 33 d2 ff ff       	call   0x57f62c
5823f9:	ba 4d 00 00 00       	mov    $0x4d,%edx
5823fe:	2b d0                	sub    %eax,%edx
582400:	8d 44 24 20          	lea    0x20(%esp),%eax
582404:	b9 01 00 00 00       	mov    $0x1,%ecx
582409:	ff 97 ec 03 00 00    	call   *0x3ec(%edi)
58240f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
582413:	e8 9c 93 ff ff       	call   0x57b7b4
582418:	8d 44 24 20          	lea    0x20(%esp),%eax
58241c:	e8 93 93 ff ff       	call   0x57b7b4
582421:	8d 44 24 24          	lea    0x24(%esp),%eax
582425:	e8 8a 93 ff ff       	call   0x57b7b4
58242a:	8d 54 24 1c          	lea    0x1c(%esp),%edx
58242e:	8b 44 24 04          	mov    0x4(%esp),%eax
582432:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
582438:	e8 67 fd ff ff       	call   0x5821a4
58243d:	85 c0                	test   %eax,%eax
58243f:	8d 54 24 28          	lea    0x28(%esp),%edx
582443:	8b 44 24 04          	mov    0x4(%esp),%eax
582447:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
58244d:	83 c0 0c             	add    $0xc,%eax
582450:	b9 20 00 00 00       	mov    $0x20,%ecx
582455:	e8 26 7a e8 ff       	call   0x409e80
58245a:	8d 54 24 48          	lea    0x48(%esp),%edx
58245e:	8b 44 24 04          	mov    0x4(%esp),%eax
582462:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
582468:	83 c0 2d             	add    $0x2d,%eax
58246b:	b9 20 00 00 00       	mov    $0x20,%ecx
582470:	e8 0b 7a e8 ff       	call   0x409e80
582475:	8b 44 24 04          	mov    0x4(%esp),%eax
582479:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
58247f:	33 d2                	xor    %edx,%edx
582481:	88 50 4d             	mov    %dl,0x4d(%eax)
582484:	88 50 2c             	mov    %dl,0x2c(%eax)
582487:	8b 54 24 24          	mov    0x24(%esp),%edx
58248b:	89 50 08             	mov    %edx,0x8(%eax)
58248e:	8b 44 24 20          	mov    0x20(%esp),%eax
582492:	48                   	dec    %eax
582493:	85 c0                	test   %eax,%eax
582495:	0f 8c ae 00 00 00    	jl     0x582549
58249b:	40                   	inc    %eax
58249c:	89 44 24 18          	mov    %eax,0x18(%esp)
5824a0:	8d 44 24 6a          	lea    0x6a(%esp),%eax
5824a4:	ba 20 00 00 00       	mov    $0x20,%edx
5824a9:	e8 26 5a e8 ff       	call   0x407ed4
5824ae:	8b 07                	mov    (%edi),%eax
5824b0:	50                   	push   %eax
5824b1:	8d 84 24 8e 00 00 00 	lea    0x8e(%esp),%eax
5824b8:	b9 20 00 00 00       	mov    $0x20,%ecx
5824bd:	ba 01 00 00 00       	mov    $0x1,%edx
5824c2:	ff 97 ec 03 00 00    	call   *0x3ec(%edi)
5824c8:	8b 07                	mov    (%edi),%eax
5824ca:	50                   	push   %eax
5824cb:	8d 44 24 14          	lea    0x14(%esp),%eax
5824cf:	b9 02 00 00 00       	mov    $0x2,%ecx
5824d4:	ba 03 00 00 00       	mov    $0x3,%edx
5824d9:	ff 97 ec 03 00 00    	call   *0x3ec(%edi)
5824df:	be 03 00 00 00       	mov    $0x3,%esi
5824e4:	8d 5c 24 10          	lea    0x10(%esp),%ebx
5824e8:	8b c3                	mov    %ebx,%eax
5824ea:	e8 b9 92 ff ff       	call   0x57b7a8
5824ef:	83 c3 02             	add    $0x2,%ebx
5824f2:	4e                   	dec    %esi
5824f3:	75 f3                	jne    0x5824e8
5824f5:	8b 07                	mov    (%edi),%eax
5824f7:	50                   	push   %eax
5824f8:	8d 44 24 6e          	lea    0x6e(%esp),%eax
5824fc:	8b 4c 24 28          	mov    0x28(%esp),%ecx
582500:	ba 02 00 00 00       	mov    $0x2,%edx
582505:	ff 97 ec 03 00 00    	call   *0x3ec(%edi)
58250b:	8b 74 24 24          	mov    0x24(%esp),%esi
58250f:	4e                   	dec    %esi
582510:	85 f6                	test   %esi,%esi
582512:	7c 12                	jl     0x582526
582514:	46                   	inc    %esi
582515:	8d 5c 24 6a          	lea    0x6a(%esp),%ebx
582519:	8b c3                	mov    %ebx,%eax
58251b:	e8 88 92 ff ff       	call   0x57b7a8
582520:	83 c3 02             	add    $0x2,%ebx
582523:	4e                   	dec    %esi
582524:	75 f3                	jne    0x582519
582526:	8d 44 24 6a          	lea    0x6a(%esp),%eax
58252a:	50                   	push   %eax
58252b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
58252f:	8d 94 24 8e 00 00 00 	lea    0x8e(%esp),%edx
582536:	8b 44 24 08          	mov    0x8(%esp),%eax
58253a:	e8 3d fd ff ff       	call   0x58227c
58253f:	ff 4c 24 18          	decl   0x18(%esp)
582543:	0f 85 57 ff ff ff    	jne    0x5824a0
582549:	8b 44 24 04          	mov    0x4(%esp),%eax
58254d:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
582553:	8b 00                	mov    (%eax),%eax
582555:	eb 02                	jmp    0x582559
582557:	33 c0                	xor    %eax,%eax
582559:	81 c4 ac 00 00 00    	add    $0xac,%esp
58255f:	5d                   	pop    %ebp
582560:	5f                   	pop    %edi
582561:	5e                   	pop    %esi
582562:	5b                   	pop    %ebx
582563:	c3                   	ret
582564:	55                   	push   %ebp
582565:	8b ec                	mov    %esp,%ebp
582567:	83 c4 b4             	add    $0xffffffb4,%esp
58256a:	53                   	push   %ebx
58256b:	56                   	push   %esi
58256c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
58256f:	8b d8                	mov    %eax,%ebx
582571:	89 55 f8             	mov    %edx,-0x8(%ebp)
582574:	8b 45 fc             	mov    -0x4(%ebp),%eax
582577:	89 45 f4             	mov    %eax,-0xc(%ebp)
58257a:	8b 75 08             	mov    0x8(%ebp),%esi
58257d:	4e                   	dec    %esi
58257e:	85 f6                	test   %esi,%esi
582580:	72 4a                	jb     0x5825cc
582582:	46                   	inc    %esi
582583:	8d 55 d4             	lea    -0x2c(%ebp),%edx
582586:	8b 4d f8             	mov    -0x8(%ebp),%ecx
582589:	8b c3                	mov    %ebx,%eax
58258b:	ff 93 94 00 00 00    	call   *0x94(%ebx)
582591:	89 45 f8             	mov    %eax,-0x8(%ebp)
582594:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
582598:	69 c0 95 00 00 00    	imul   $0x95,%eax,%eax
58259e:	8b 93 d8 00 00 00    	mov    0xd8(%ebx),%edx
5825a4:	8d 94 42 58 01 00 00 	lea    0x158(%edx,%eax,2),%edx
5825ab:	8d 45 b4             	lea    -0x4c(%ebp),%eax
5825ae:	b9 20 00 00 00       	mov    $0x20,%ecx
5825b3:	e8 08 59 e8 ff       	call   0x407ec0
5825b8:	8d 55 b4             	lea    -0x4c(%ebp),%edx
5825bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5825be:	8b c3                	mov    %ebx,%eax
5825c0:	ff 93 a8 00 00 00    	call   *0xa8(%ebx)
5825c6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5825c9:	4e                   	dec    %esi
5825ca:	75 b7                	jne    0x582583
5825cc:	5e                   	pop    %esi
5825cd:	5b                   	pop    %ebx
5825ce:	8b e5                	mov    %ebp,%esp
5825d0:	5d                   	pop    %ebp
5825d1:	c2 04 00             	ret    $0x4
5825d4:	e8 2b cf ff ff       	call   0x57f504
5825d9:	2d 20 62 61 4c       	sub    $0x4c616220,%eax
5825de:	74 0a                	je     0x5825ea
5825e0:	2d 00 f8 f7 0b       	sub    $0xbf7f800,%eax
5825e5:	75 09                	jne    0x5825f0
5825e7:	33 c0                	xor    %eax,%eax
5825e9:	c3                   	ret
5825ea:	b8 01 00 00 00       	mov    $0x1,%eax
5825ef:	c3                   	ret
5825f0:	33 c0                	xor    %eax,%eax
5825f2:	c3                   	ret
5825f3:	90                   	nop
5825f4:	53                   	push   %ebx
5825f5:	56                   	push   %esi
5825f6:	8b f2                	mov    %edx,%esi
5825f8:	8b d8                	mov    %eax,%ebx
5825fa:	8b d6                	mov    %esi,%edx
5825fc:	8b c3                	mov    %ebx,%eax
5825fe:	e8 15 98 ff ff       	call   0x57be18
582603:	85 c0                	test   %eax,%eax
582605:	0f 9d c0             	setge  %al
582608:	f6 d8                	neg    %al
58260a:	1b c0                	sbb    %eax,%eax
58260c:	5e                   	pop    %esi
58260d:	5b                   	pop    %ebx
58260e:	c3                   	ret
58260f:	90                   	nop
582610:	89 50 04             	mov    %edx,0x4(%eax)
582613:	c3                   	ret
582614:	89 50 08             	mov    %edx,0x8(%eax)
582617:	c3                   	ret
582618:	89 50 0c             	mov    %edx,0xc(%eax)
58261b:	c3                   	ret
58261c:	55                   	push   %ebp
58261d:	8b ec                	mov    %esp,%ebp
58261f:	83 c4 f8             	add    $0xfffffff8,%esp
582622:	53                   	push   %ebx
582623:	56                   	push   %esi
582624:	57                   	push   %edi
582625:	89 4d f8             	mov    %ecx,-0x8(%ebp)
582628:	89 55 fc             	mov    %edx,-0x4(%ebp)
58262b:	8b f0                	mov    %eax,%esi
58262d:	8b 55 fc             	mov    -0x4(%ebp),%edx
582630:	8b c6                	mov    %esi,%eax
582632:	e8 e1 97 ff ff       	call   0x57be18
582637:	8b d8                	mov    %eax,%ebx
582639:	85 db                	test   %ebx,%ebx
58263b:	7c 12                	jl     0x58264f
58263d:	8b 84 9e 18 03 00 00 	mov    0x318(%esi,%ebx,4),%eax
582644:	85 c0                	test   %eax,%eax
582646:	74 13                	je     0x58265b
582648:	e8 7f 01 e8 ff       	call   0x4027cc
58264d:	eb 0c                	jmp    0x58265b
58264f:	8b 9e bc 00 00 00    	mov    0xbc(%esi),%ebx
582655:	ff 86 bc 00 00 00    	incl   0xbc(%esi)
58265b:	8b 45 f8             	mov    -0x8(%ebp),%eax
58265e:	e8 49 01 e8 ff       	call   0x4027ac
582663:	8b f8                	mov    %eax,%edi
582665:	8b 4d f8             	mov    -0x8(%ebp),%ecx
582668:	8b 55 08             	mov    0x8(%ebp),%edx
58266b:	8b c7                	mov    %edi,%eax
58266d:	e8 4e 58 e8 ff       	call   0x407ec0
582672:	8b 45 fc             	mov    -0x4(%ebp),%eax
582675:	89 84 9e c0 00 00 00 	mov    %eax,0xc0(%esi,%ebx,4)
58267c:	8b 45 f8             	mov    -0x8(%ebp),%eax
58267f:	89 84 9e 88 01 00 00 	mov    %eax,0x188(%esi,%ebx,4)
582686:	89 bc 9e 18 03 00 00 	mov    %edi,0x318(%esi,%ebx,4)
58268d:	8b c7                	mov    %edi,%eax
58268f:	5f                   	pop    %edi
582690:	5e                   	pop    %esi
582691:	5b                   	pop    %ebx
582692:	59                   	pop    %ecx
582693:	59                   	pop    %ecx
582694:	5d                   	pop    %ebp
582695:	c2 04 00             	ret    $0x4
582698:	53                   	push   %ebx
582699:	56                   	push   %esi
58269a:	57                   	push   %edi
58269b:	8b d9                	mov    %ecx,%ebx
58269d:	8b fa                	mov    %edx,%edi
58269f:	8b f0                	mov    %eax,%esi
5826a1:	53                   	push   %ebx
5826a2:	8b c3                	mov    %ebx,%eax
5826a4:	e8 47 77 e8 ff       	call   0x409df0
5826a9:	8b c8                	mov    %eax,%ecx
5826ab:	41                   	inc    %ecx
5826ac:	8b d7                	mov    %edi,%edx
5826ae:	8b c6                	mov    %esi,%eax
5826b0:	e8 67 ff ff ff       	call   0x58261c
5826b5:	83 c8 ff             	or     $0xffffffff,%eax
5826b8:	5f                   	pop    %edi
5826b9:	5e                   	pop    %esi
5826ba:	5b                   	pop    %ebx
5826bb:	c3                   	ret
5826bc:	89 50 10             	mov    %edx,0x10(%eax)
5826bf:	c3                   	ret
5826c0:	51                   	push   %ecx
5826c1:	b9 18 00 00 00       	mov    $0x18,%ecx
5826c6:	e8 51 ff ff ff       	call   0x58261c
5826cb:	83 c8 ff             	or     $0xffffffff,%eax
5826ce:	c3                   	ret
5826cf:	90                   	nop
5826d0:	8b 00                	mov    (%eax),%eax
5826d2:	48                   	dec    %eax
5826d3:	03 c0                	add    %eax,%eax
5826d5:	83 c0 06             	add    $0x6,%eax
5826d8:	c3                   	ret
5826d9:	8d 40 00             	lea    0x0(%eax),%eax
5826dc:	53                   	push   %ebx
5826dd:	56                   	push   %esi
5826de:	57                   	push   %edi
5826df:	8b d9                	mov    %ecx,%ebx
5826e1:	8b fa                	mov    %edx,%edi
5826e3:	8b f0                	mov    %eax,%esi
5826e5:	53                   	push   %ebx
5826e6:	8b c3                	mov    %ebx,%eax
5826e8:	e8 e3 ff ff ff       	call   0x5826d0
5826ed:	8b c8                	mov    %eax,%ecx
5826ef:	8b d7                	mov    %edi,%edx
5826f1:	8b c6                	mov    %esi,%eax
5826f3:	e8 24 ff ff ff       	call   0x58261c
5826f8:	83 c8 ff             	or     $0xffffffff,%eax
5826fb:	5f                   	pop    %edi
5826fc:	5e                   	pop    %esi
5826fd:	5b                   	pop    %ebx
5826fe:	c3                   	ret
5826ff:	90                   	nop
582700:	85 d2                	test   %edx,%edx
582702:	74 0d                	je     0x582711
582704:	85 c9                	test   %ecx,%ecx
582706:	7e 09                	jle    0x582711
582708:	52                   	push   %edx
582709:	33 d2                	xor    %edx,%edx
58270b:	e8 0c ff ff ff       	call   0x58261c
582710:	c3                   	ret
582711:	33 c0                	xor    %eax,%eax
582713:	c3                   	ret
582714:	53                   	push   %ebx
582715:	56                   	push   %esi
582716:	57                   	push   %edi
582717:	55                   	push   %ebp
582718:	83 c4 f8             	add    $0xfffffff8,%esp
58271b:	8b d9                	mov    %ecx,%ebx
58271d:	89 14 24             	mov    %edx,(%esp)
582720:	8b e8                	mov    %eax,%ebp
582722:	8b f3                	mov    %ebx,%esi
582724:	53                   	push   %ebx
582725:	b9 be 02 00 00       	mov    $0x2be,%ecx
58272a:	8b 54 24 04          	mov    0x4(%esp),%edx
58272e:	8b c5                	mov    %ebp,%eax
582730:	e8 e7 fe ff ff       	call   0x58261c
582735:	89 44 24 04          	mov    %eax,0x4(%esp)
582739:	8b 7e 28             	mov    0x28(%esi),%edi
58273c:	4f                   	dec    %edi
58273d:	85 ff                	test   %edi,%edi
58273f:	72 22                	jb     0x582763
582741:	47                   	inc    %edi
582742:	33 db                	xor    %ebx,%ebx
582744:	8b 8e c4 00 00 00    	mov    0xc4(%esi),%ecx
58274a:	03 c9                	add    %ecx,%ecx
58274c:	8b 54 9e 3c          	mov    0x3c(%esi,%ebx,4),%edx
582750:	8b c5                	mov    %ebp,%eax
582752:	e8 a9 ff ff ff       	call   0x582700