9592fd:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
959301:	8b 45 a8             	mov    -0x58(%ebp),%eax
959304:	75 04                	jne    0x95930a
959306:	85 c0                	test   %eax,%eax
959308:	74 3d                	je     0x959347
95930a:	99                   	cltd
95930b:	2b c2                	sub    %edx,%eax
95930d:	8b c8                	mov    %eax,%ecx
95930f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
959312:	99                   	cltd
959313:	2b c2                	sub    %edx,%eax
959315:	d1 f9                	sar    $1,%ecx
959317:	d1 f8                	sar    $1,%eax
959319:	41                   	inc    %ecx
95931a:	40                   	inc    %eax
95931b:	f7 d9                	neg    %ecx
95931d:	51                   	push   %ecx
95931e:	f7 d8                	neg    %eax
959320:	50                   	push   %eax
959321:	8d 45 e0             	lea    -0x20(%ebp),%eax
959324:	50                   	push   %eax
959325:	ff 15 ec 3d d8 00    	call   *0xd83dec
95932b:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
95932f:	8d 45 d0             	lea    -0x30(%ebp),%eax
959332:	75 07                	jne    0x95933b
959334:	ff 75 a8             	push   -0x58(%ebp)
959337:	6a 00                	push   $0x0
959339:	eb 05                	jmp    0x959340
95933b:	6a 00                	push   $0x0
95933d:	ff 75 a4             	push   -0x5c(%ebp)
959340:	50                   	push   %eax
959341:	ff 15 4c 40 d8 00    	call   *0xd8404c
959347:	8b 4d ac             	mov    -0x54(%ebp),%ecx
95934a:	8d 75 e0             	lea    -0x20(%ebp),%esi
95934d:	8d 7d c0             	lea    -0x40(%ebp),%edi
959350:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959351:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959352:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959353:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959354:	8b 75 d4             	mov    -0x2c(%ebp),%esi
959357:	8b 7d 80             	mov    -0x80(%ebp),%edi
95935a:	83 c6 05             	add    $0x5,%esi
95935d:	89 75 d4             	mov    %esi,-0x2c(%ebp)
959360:	85 ff                	test   %edi,%edi
959362:	0f 84 d5 01 00 00    	je     0x95953d
959368:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
95936c:	74 05                	je     0x959373
95936e:	8b 43 38             	mov    0x38(%ebx),%eax
959371:	eb 03                	jmp    0x959376
959373:	8b 43 34             	mov    0x34(%ebx),%eax
959376:	85 c0                	test   %eax,%eax
959378:	0f 88 bf 01 00 00    	js     0x95953d
95937e:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
959382:	8b 57 54             	mov    0x54(%edi),%edx
959385:	8b 7f 58             	mov    0x58(%edi),%edi
959388:	8b 4d e0             	mov    -0x20(%ebp),%ecx
95938b:	89 55 8c             	mov    %edx,-0x74(%ebp)
95938e:	89 7d a8             	mov    %edi,-0x58(%ebp)
959391:	75 21                	jne    0x9593b4
959393:	8b 45 e8             	mov    -0x18(%ebp),%eax
959396:	2b c1                	sub    %ecx,%eax
959398:	2b c2                	sub    %edx,%eax
95939a:	99                   	cltd
95939b:	2b c2                	sub    %edx,%eax
95939d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
9593a0:	d1 f8                	sar    $1,%eax
9593a2:	83 c2 05             	add    $0x5,%edx
9593a5:	03 c8                	add    %eax,%ecx
9593a7:	89 55 94             	mov    %edx,-0x6c(%ebp)
9593aa:	8d 47 02             	lea    0x2(%edi),%eax
9593ad:	89 4d 90             	mov    %ecx,-0x70(%ebp)
9593b0:	03 c6                	add    %esi,%eax
9593b2:	eb 69                	jmp    0x95941d
9593b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
9593b7:	8d 75 d0             	lea    -0x30(%ebp),%esi
9593ba:	2b c7                	sub    %edi,%eax
9593bc:	83 c1 05             	add    $0x5,%ecx
9593bf:	2b 45 e4             	sub    -0x1c(%ebp),%eax
9593c2:	8d 7d b0             	lea    -0x50(%ebp),%edi
9593c5:	89 4d 90             	mov    %ecx,-0x70(%ebp)
9593c8:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
9593cb:	83 c1 0a             	add    $0xa,%ecx
9593ce:	99                   	cltd
9593cf:	01 4d d0             	add    %ecx,-0x30(%ebp)
9593d2:	2b c2                	sub    %edx,%eax
9593d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9593d5:	8d 4d b0             	lea    -0x50(%ebp),%ecx
9593d8:	d1 f8                	sar    $1,%eax
9593da:	03 45 e4             	add    -0x1c(%ebp),%eax
9593dd:	89 45 94             	mov    %eax,-0x6c(%ebp)
9593e0:	8b 43 2c             	mov    0x2c(%ebx),%eax
9593e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9593e4:	68 10 04 00 00       	push   $0x410
9593e9:	51                   	push   %ecx
9593ea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9593eb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9593ec:	8b 7d ac             	mov    -0x54(%ebp),%edi
9593ef:	ff 70 f4             	push   -0xc(%eax)
9593f2:	50                   	push   %eax
9593f3:	8b 37                	mov    (%edi),%esi
9593f5:	8b 4e 68             	mov    0x68(%esi),%ecx
9593f8:	e8 68 32 ad ff       	call   0x42c665
9593fd:	8b cf                	mov    %edi,%ecx
9593ff:	ff 56 68             	call   *0x68(%esi)
959402:	8b 4d ec             	mov    -0x14(%ebp),%ecx
959405:	8b 7d a8             	mov    -0x58(%ebp),%edi
959408:	2b c8                	sub    %eax,%ecx
95940a:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
95940d:	8b c1                	mov    %ecx,%eax
95940f:	8b 4d 90             	mov    -0x70(%ebp),%ecx
959412:	99                   	cltd
959413:	2b c2                	sub    %edx,%eax
959415:	8b 55 94             	mov    -0x6c(%ebp),%edx
959418:	d1 f8                	sar    $1,%eax
95941a:	03 45 e4             	add    -0x1c(%ebp),%eax
95941d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
959420:	8d 75 9c             	lea    -0x64(%ebp),%esi
959423:	8b 45 8c             	mov    -0x74(%ebp),%eax
959426:	03 c1                	add    %ecx,%eax
959428:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
95942b:	89 45 a4             	mov    %eax,-0x5c(%ebp)
95942e:	8d 04 17             	lea    (%edi,%edx,1),%eax
959431:	89 45 a8             	mov    %eax,-0x58(%ebp)
959434:	8d 7d c0             	lea    -0x40(%ebp),%edi
959437:	89 55 a0             	mov    %edx,-0x60(%ebp)
95943a:	8d 45 c0             	lea    -0x40(%ebp),%eax
95943d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95943e:	6a 02                	push   $0x2
959440:	6a 02                	push   $0x2
959442:	50                   	push   %eax
959443:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959444:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959445:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959446:	ff 15 ec 3d d8 00    	call   *0xd83dec
95944c:	8b 43 70             	mov    0x70(%ebx),%eax
95944f:	83 b8 d4 1d 00 00 00 	cmpl   $0x0,0x1dd4(%eax)
959456:	74 52                	je     0x9594aa
959458:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
95945c:	74 3d                	je     0x95949b
95945e:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
959462:	75 37                	jne    0x95949b
959464:	ff 75 ac             	push   -0x54(%ebp)
959467:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
95946a:	e8 51 74 ab ff       	call   0x4108c0
95946f:	6a ff                	push   $0xffffffff
959471:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
959475:	8d 75 c0             	lea    -0x40(%ebp),%esi
959478:	6a 00                	push   $0x0
95947a:	6a ff                	push   $0xffffffff
95947c:	6a 55                	push   $0x55
95947e:	83 ec 10             	sub    $0x10,%esp
959481:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
959484:	8b fc                	mov    %esp,%edi
959486:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959487:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959488:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959489:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95948a:	e8 97 da ac ff       	call   0x426f26
95948f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
959493:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
959496:	e8 f6 6b ab ff       	call   0x410091
95949b:	8b 75 ac             	mov    -0x54(%ebp),%esi
95949e:	33 d2                	xor    %edx,%edx
9594a0:	39 53 04             	cmp    %edx,0x4(%ebx)
9594a3:	74 69                	je     0x95950e
9594a5:	8b 4b 38             	mov    0x38(%ebx),%ecx
9594a8:	eb 67                	jmp    0x959511
9594aa:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
9594ae:	74 48                	je     0x9594f8
9594b0:	e8 98 96 ab ff       	call   0x412b4d
9594b5:	8b f8                	mov    %eax,%edi
9594b7:	8d 45 a4             	lea    -0x5c(%ebp),%eax
9594ba:	50                   	push   %eax
9594bb:	8b 0f                	mov    (%edi),%ecx
9594bd:	8b b1 40 01 00 00    	mov    0x140(%ecx),%esi
9594c3:	8b ce                	mov    %esi,%ecx
9594c5:	e8 9b 31 ad ff       	call   0x42c665
9594ca:	8b cf                	mov    %edi,%ecx
9594cc:	ff d6                	call   *%esi
9594ce:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
9594d2:	8b 45 a8             	mov    -0x58(%ebp),%eax
9594d5:	75 04                	jne    0x9594db
9594d7:	85 c0                	test   %eax,%eax
9594d9:	74 1d                	je     0x9594f8
9594db:	99                   	cltd
9594dc:	2b c2                	sub    %edx,%eax
9594de:	8b c8                	mov    %eax,%ecx
9594e0:	8b 45 a4             	mov    -0x5c(%ebp),%eax
9594e3:	99                   	cltd
9594e4:	2b c2                	sub    %edx,%eax
9594e6:	d1 f9                	sar    $1,%ecx
9594e8:	49                   	dec    %ecx
9594e9:	d1 f8                	sar    $1,%eax
9594eb:	48                   	dec    %eax
9594ec:	51                   	push   %ecx
9594ed:	50                   	push   %eax
9594ee:	8d 45 c0             	lea    -0x40(%ebp),%eax
9594f1:	50                   	push   %eax
9594f2:	ff 15 ec 3d d8 00    	call   *0xd83dec
9594f8:	8b 75 ac             	mov    -0x54(%ebp),%esi
9594fb:	8d 45 c0             	lea    -0x40(%ebp),%eax
9594fe:	6a 00                	push   $0x0
959500:	ff 75 1c             	push   0x1c(%ebp)
959503:	8b cb                	mov    %ebx,%ecx
959505:	50                   	push   %eax
959506:	56                   	push   %esi
959507:	e8 19 57 ae ff       	call   0x43ec25
95950c:	eb 90                	jmp    0x95949e
95950e:	8b 4b 34             	mov    0x34(%ebx),%ecx
959511:	8b 43 24             	mov    0x24(%ebx),%eax
959514:	68 ff 00 00 00       	push   $0xff
959519:	52                   	push   %edx
95951a:	52                   	push   %edx
95951b:	52                   	push   %edx
95951c:	25 00 00 04 00       	and    $0x40000,%eax
959521:	50                   	push   %eax
959522:	8b 45 94             	mov    -0x6c(%ebp),%eax
959525:	03 45 88             	add    -0x78(%ebp),%eax
959528:	52                   	push   %edx
959529:	51                   	push   %ecx
95952a:	8b 4d 80             	mov    -0x80(%ebp),%ecx
95952d:	50                   	push   %eax
95952e:	8b 45 84             	mov    -0x7c(%ebp),%eax
959531:	03 45 90             	add    -0x70(%ebp),%eax
959534:	50                   	push   %eax
959535:	56                   	push   %esi
959536:	e8 70 28 ac ff       	call   0x41bdab
95953b:	eb 54                	jmp    0x959591
95953d:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
959541:	74 4e                	je     0x959591
959543:	8b 43 70             	mov    0x70(%ebx),%eax
959546:	83 b8 d4 1d 00 00 00 	cmpl   $0x0,0x1dd4(%eax)
95954d:	74 42                	je     0x959591
95954f:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
959553:	0f 85 9f 00 00 00    	jne    0x9595f8
959559:	51                   	push   %ecx
95955a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
95955d:	e8 5e 73 ab ff       	call   0x4108c0
959562:	6a ff                	push   $0xffffffff
959564:	6a 00                	push   $0x0
959566:	6a ff                	push   $0xffffffff
959568:	6a 55                	push   $0x55
95956a:	83 ec 10             	sub    $0x10,%esp
95956d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
959574:	8b fc                	mov    %esp,%edi
959576:	8d 75 c0             	lea    -0x40(%ebp),%esi
959579:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
95957c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95957d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95957e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95957f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
959580:	e8 a1 d9 ac ff       	call   0x426f26
959585:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
959589:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
95958c:	e8 00 6b ab ff       	call   0x410091
959591:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
959595:	75 61                	jne    0x9595f8
959597:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
95959b:	75 09                	jne    0x9595a6
95959d:	f7 43 24 00 00 03 00 	testl  $0x30000,0x24(%ebx)
9595a4:	74 52                	je     0x9595f8
9595a6:	f7 43 24 00 00 02 00 	testl  $0x20000,0x24(%ebx)
9595ad:	74 06                	je     0x9595b5
9595af:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
9595b3:	75 09                	jne    0x9595be
9595b5:	f7 43 24 00 00 01 00 	testl  $0x10000,0x24(%ebx)
9595bc:	74 09                	je     0x9595c7
9595be:	e8 8a 95 ab ff       	call   0x412b4d
9595c3:	6a 01                	push   $0x1
9595c5:	eb 07                	jmp    0x9595ce
9595c7:	e8 81 95 ab ff       	call   0x412b4d
9595cc:	6a 02                	push   $0x2
9595ce:	83 ec 10             	sub    $0x10,%esp
9595d1:	8d 75 c0             	lea    -0x40(%ebp),%esi
9595d4:	8b fc                	mov    %esp,%edi
9595d6:	8b d8                	mov    %eax,%ebx
9595d8:	ff 75 98             	push   -0x68(%ebp)
9595db:	8b 0b                	mov    (%ebx),%ecx
9595dd:	ff 75 ac             	push   -0x54(%ebp)
9595e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9595e1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9595e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9595e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
9595e4:	8b b1 88 00 00 00    	mov    0x88(%ecx),%esi
9595ea:	8b ce                	mov    %esi,%ecx
9595ec:	e8 74 30 ad ff       	call   0x42c665
9595f1:	8b cb                	mov    %ebx,%ecx
9595f3:	ff d6                	call   *%esi
9595f5:	8b 5d 98             	mov    -0x68(%ebp),%ebx
9595f8:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
9595fc:	0f 84 f9 00 00 00    	je     0x9596fb
959602:	8b 43 2c             	mov    0x2c(%ebx),%eax
959605:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
959609:	0f 84 ec 00 00 00    	je     0x9596fb
95960f:	33 f6                	xor    %esi,%esi
959611:	39 75 1c             	cmp    %esi,0x1c(%ebp)
959614:	74 05                	je     0x95961b
959616:	6a 02                	push   $0x2
959618:	5e                   	pop    %esi
959619:	eb 0c                	jmp    0x959627
95961b:	f7 43 24 00 00 03 00 	testl  $0x30000,0x24(%ebx)
959622:	74 03                	je     0x959627
959624:	33 f6                	xor    %esi,%esi
959626:	46                   	inc    %esi
959627:	f7 43 24 00 00 04 00 	testl  $0x40000,0x24(%ebx)
95962e:	8b 43 70             	mov    0x70(%ebx),%eax
959631:	74 13                	je     0x959646
959633:	83 b8 54 0d 00 00 00 	cmpl   $0x0,0xd54(%eax)
95963a:	74 15                	je     0x959651
95963c:	e8 f5 ec ab ff       	call   0x418336
959641:	8b 40 38             	mov    0x38(%eax),%eax
959644:	eb 06                	jmp    0x95964c
959646:	8b 80 40 0d 00 00    	mov    0xd40(%eax),%eax
95964c:	83 f8 ff             	cmp    $0xffffffff,%eax
95964f:	75 32                	jne    0x959683
959651:	8b 43 70             	mov    0x70(%ebx),%eax
959654:	83 b8 54 0d 00 00 00 	cmpl   $0x0,0xd54(%eax)
95965b:	74 0a                	je     0x959667
95965d:	e8 d4 ec ab ff       	call   0x418336
959662:	8b 40 70             	mov    0x70(%eax),%eax
959665:	eb 1c                	jmp    0x959683
959667:	e8 e1 94 ab ff       	call   0x412b4d
95966c:	8b f8                	mov    %eax,%edi
95966e:	56                   	push   %esi
95966f:	53                   	push   %ebx
959670:	8b 0f                	mov    (%edi),%ecx
959672:	8b b1 b4 00 00 00    	mov    0xb4(%ecx),%esi
959678:	8b ce                	mov    %esi,%ecx
95967a:	e8 e6 2f ad ff       	call   0x42c665
95967f:	8b cf                	mov    %edi,%ecx
959681:	ff d6                	call   *%esi
959683:	8b 7d ac             	mov    -0x54(%ebp),%edi
959686:	50                   	push   %eax
959687:	8b 0f                	mov    (%edi),%ecx
959689:	8b 71 30             	mov    0x30(%ecx),%esi
95968c:	8b ce                	mov    %esi,%ecx
95968e:	e8 d2 2f ad ff       	call   0x42c665
959693:	8b cf                	mov    %edi,%ecx
959695:	ff d6                	call   *%esi
959697:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
95969b:	8b 43 2c             	mov    0x2c(%ebx),%eax
95969e:	74 1b                	je     0x9596bb
9596a0:	8b 37                	mov    (%edi),%esi
9596a2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
9596a5:	6a 11                	push   $0x11
9596a7:	51                   	push   %ecx
9596a8:	ff 70 f4             	push   -0xc(%eax)
9596ab:	8b 4e 68             	mov    0x68(%esi),%ecx
9596ae:	50                   	push   %eax
9596af:	e8 b1 2f ad ff       	call   0x42c665