97335d:	8b ce                	mov    %esi,%ecx
97335f:	e8 01 93 ab ff       	call   0x42c665
973364:	8b cb                	mov    %ebx,%ecx
973366:	ff d6                	call   *%esi
973368:	8b c7                	mov    %edi,%eax
97336a:	eb d6                	jmp    0x973342
97336c:	e8 f5 eb ab ff       	call   0x431f66
973371:	cc                   	int3
973372:	cc                   	int3
973373:	cc                   	int3
973374:	cc                   	int3
973375:	cc                   	int3
973376:	cc                   	int3
973377:	cc                   	int3
973378:	cc                   	int3
973379:	cc                   	int3
97337a:	cc                   	int3
97337b:	cc                   	int3
97337c:	cc                   	int3
97337d:	cc                   	int3
97337e:	cc                   	int3
97337f:	cc                   	int3
973380:	cc                   	int3
973381:	cc                   	int3
973382:	cc                   	int3
973383:	cc                   	int3
973384:	cc                   	int3
973385:	cc                   	int3
973386:	cc                   	int3
973387:	cc                   	int3
973388:	cc                   	int3
973389:	cc                   	int3
97338a:	cc                   	int3
97338b:	cc                   	int3
97338c:	cc                   	int3
97338d:	cc                   	int3
97338e:	cc                   	int3
97338f:	cc                   	int3
973390:	cc                   	int3
973391:	cc                   	int3
973392:	cc                   	int3
973393:	cc                   	int3
973394:	cc                   	int3
973395:	8b 41 04             	mov    0x4(%ecx),%eax
973398:	85 c0                	test   %eax,%eax
97339a:	74 21                	je     0x9733bd
97339c:	8b 10                	mov    (%eax),%edx
97339e:	56                   	push   %esi
97339f:	8b 70 08             	mov    0x8(%eax),%esi
9733a2:	89 51 04             	mov    %edx,0x4(%ecx)
9733a5:	85 d2                	test   %edx,%edx
9733a7:	74 06                	je     0x9733af
9733a9:	83 62 04 00          	andl   $0x0,0x4(%edx)
9733ad:	eb 04                	jmp    0x9733b3
9733af:	83 61 08 00          	andl   $0x0,0x8(%ecx)
9733b3:	50                   	push   %eax
9733b4:	e8 a9 01 a9 ff       	call   0x403562
9733b9:	8b c6                	mov    %esi,%eax
9733bb:	5e                   	pop    %esi
9733bc:	c3                   	ret
9733bd:	e8 a4 eb ab ff       	call   0x431f66
9733c2:	cc                   	int3
9733c3:	cc                   	int3
9733c4:	cc                   	int3
9733c5:	cc                   	int3
9733c6:	cc                   	int3
9733c7:	cc                   	int3
9733c8:	cc                   	int3
9733c9:	cc                   	int3
9733ca:	cc                   	int3
9733cb:	cc                   	int3
9733cc:	cc                   	int3
9733cd:	cc                   	int3
9733ce:	55                   	push   %ebp
9733cf:	8b ec                	mov    %esp,%ebp
9733d1:	51                   	push   %ecx
9733d2:	57                   	push   %edi
9733d3:	8b f9                	mov    %ecx,%edi
9733d5:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
9733d9:	75 04                	jne    0x9733df
9733db:	33 c0                	xor    %eax,%eax
9733dd:	eb 44                	jmp    0x973423
9733df:	53                   	push   %ebx
9733e0:	56                   	push   %esi
9733e1:	ff 75 08             	push   0x8(%ebp)
9733e4:	e8 70 7a ac ff       	call   0x43ae59
9733e9:	33 d2                	xor    %edx,%edx
9733eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
9733ee:	f7 77 08             	divl   0x8(%edi)
9733f1:	8b 4f 04             	mov    0x4(%edi),%ecx
9733f4:	8d 1c 91             	lea    (%ecx,%edx,4),%ebx
9733f7:	8b 33                	mov    (%ebx),%esi
9733f9:	85 f6                	test   %esi,%esi
9733fb:	74 22                	je     0x97341f
9733fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
973400:	39 46 0c             	cmp    %eax,0xc(%esi)
973403:	75 11                	jne    0x973416
973405:	8d 45 08             	lea    0x8(%ebp),%eax
973408:	50                   	push   %eax
973409:	56                   	push   %esi
97340a:	e8 49 5e ab ff       	call   0x429258
97340f:	85 c0                	test   %eax,%eax
973411:	75 17                	jne    0x97342a
973413:	8b 45 fc             	mov    -0x4(%ebp),%eax
973416:	8d 5e 08             	lea    0x8(%esi),%ebx
973419:	8b 33                	mov    (%ebx),%esi
97341b:	85 f6                	test   %esi,%esi
97341d:	75 e1                	jne    0x973400
97341f:	33 c0                	xor    %eax,%eax
973421:	5e                   	pop    %esi
973422:	5b                   	pop    %ebx
973423:	5f                   	pop    %edi
973424:	8b e5                	mov    %ebp,%esp
973426:	5d                   	pop    %ebp
973427:	c2 04 00             	ret    $0x4
97342a:	8b 46 08             	mov    0x8(%esi),%eax
97342d:	8b cf                	mov    %edi,%ecx
97342f:	56                   	push   %esi
973430:	89 03                	mov    %eax,(%ebx)
973432:	e8 5f f2 ab ff       	call   0x432696
973437:	33 c0                	xor    %eax,%eax
973439:	40                   	inc    %eax
97343a:	eb e5                	jmp    0x973421
97343c:	cc                   	int3
97343d:	cc                   	int3
97343e:	cc                   	int3
97343f:	cc                   	int3
973440:	cc                   	int3
973441:	cc                   	int3
973442:	cc                   	int3
973443:	cc                   	int3
973444:	cc                   	int3
973445:	cc                   	int3
973446:	cc                   	int3
973447:	cc                   	int3
973448:	cc                   	int3
973449:	cc                   	int3
97344a:	cc                   	int3
97344b:	cc                   	int3
97344c:	cc                   	int3
97344d:	cc                   	int3
97344e:	cc                   	int3
97344f:	cc                   	int3
973450:	cc                   	int3
973451:	cc                   	int3
973452:	cc                   	int3
973453:	cc                   	int3
973454:	cc                   	int3
973455:	cc                   	int3
973456:	cc                   	int3
973457:	55                   	push   %ebp
973458:	8b ec                	mov    %esp,%ebp
97345a:	51                   	push   %ecx
97345b:	51                   	push   %ecx
97345c:	53                   	push   %ebx
97345d:	57                   	push   %edi
97345e:	8b f9                	mov    %ecx,%edi
973460:	6a 00                	push   $0x0
973462:	ff 75 0c             	push   0xc(%ebp)
973465:	8d 9f fc 00 00 00    	lea    0xfc(%edi),%ebx
97346b:	8b cb                	mov    %ebx,%ecx
97346d:	e8 34 ac aa ff       	call   0x41e0a6
973472:	85 c0                	test   %eax,%eax
973474:	74 04                	je     0x97347a
973476:	33 c0                	xor    %eax,%eax
973478:	eb 66                	jmp    0x9734e0
97347a:	6a 00                	push   $0x0
97347c:	ff 75 08             	push   0x8(%ebp)
97347f:	8b cb                	mov    %ebx,%ecx
973481:	e8 20 ac aa ff       	call   0x41e0a6
973486:	89 45 f8             	mov    %eax,-0x8(%ebp)
973489:	85 c0                	test   %eax,%eax
97348b:	74 e9                	je     0x973476
97348d:	8d 45 fc             	lea    -0x4(%ebp),%eax
973490:	81 c7 e0 00 00 00    	add    $0xe0,%edi
973496:	50                   	push   %eax
973497:	ff 75 0c             	push   0xc(%ebp)
97349a:	8b cf                	mov    %edi,%ecx
97349c:	e8 01 50 ab ff       	call   0x4284a2
9734a1:	85 c0                	test   %eax,%eax
9734a3:	75 d1                	jne    0x973476
9734a5:	8d 45 fc             	lea    -0x4(%ebp),%eax
9734a8:	8b cf                	mov    %edi,%ecx
9734aa:	50                   	push   %eax
9734ab:	ff 75 08             	push   0x8(%ebp)
9734ae:	e8 ef 4f ab ff       	call   0x4284a2
9734b3:	85 c0                	test   %eax,%eax
9734b5:	74 bf                	je     0x973476
9734b7:	ff 75 0c             	push   0xc(%ebp)
9734ba:	8b cb                	mov    %ebx,%ecx
9734bc:	ff 75 f8             	push   -0x8(%ebp)
9734bf:	e8 9f 1f ac ff       	call   0x435463
9734c4:	ff 75 08             	push   0x8(%ebp)
9734c7:	8b cf                	mov    %edi,%ecx
9734c9:	e8 23 be ac ff       	call   0x43f2f1
9734ce:	ff 75 0c             	push   0xc(%ebp)
9734d1:	8b cf                	mov    %edi,%ecx
9734d3:	e8 20 5a aa ff       	call   0x418ef8
9734d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
9734db:	89 08                	mov    %ecx,(%eax)
9734dd:	33 c0                	xor    %eax,%eax
9734df:	40                   	inc    %eax
9734e0:	5f                   	pop    %edi
9734e1:	5b                   	pop    %ebx
9734e2:	8b e5                	mov    %ebp,%esp
9734e4:	5d                   	pop    %ebp
9734e5:	c2 08 00             	ret    $0x8
9734e8:	cc                   	int3
9734e9:	cc                   	int3
9734ea:	cc                   	int3
9734eb:	cc                   	int3
9734ec:	cc                   	int3
9734ed:	cc                   	int3
9734ee:	cc                   	int3
9734ef:	cc                   	int3
9734f0:	cc                   	int3
9734f1:	cc                   	int3
9734f2:	cc                   	int3
9734f3:	cc                   	int3
9734f4:	cc                   	int3
9734f5:	cc                   	int3
9734f6:	cc                   	int3
9734f7:	cc                   	int3
9734f8:	cc                   	int3
9734f9:	cc                   	int3
9734fa:	cc                   	int3
9734fb:	cc                   	int3
9734fc:	cc                   	int3
9734fd:	cc                   	int3
9734fe:	cc                   	int3
9734ff:	cc                   	int3
973500:	cc                   	int3
973501:	cc                   	int3
973502:	cc                   	int3
973503:	cc                   	int3
973504:	cc                   	int3
973505:	cc                   	int3
973506:	cc                   	int3
973507:	cc                   	int3
973508:	cc                   	int3
973509:	cc                   	int3
97350a:	cc                   	int3
97350b:	cc                   	int3
97350c:	6a 28                	push   $0x28
97350e:	b8 c9 ca ba 00       	mov    $0xbacac9,%eax
973513:	e8 73 6d a9 ff       	call   0x40a28b
973518:	8b d9                	mov    %ecx,%ebx
97351a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
97351d:	8b 7d 0c             	mov    0xc(%ebp),%edi
973520:	8b 07                	mov    (%edi),%eax
973522:	8b 30                	mov    (%eax),%esi
973524:	8b ce                	mov    %esi,%ecx
973526:	e8 3a 91 ab ff       	call   0x42c665
97352b:	8b cf                	mov    %edi,%ecx
97352d:	ff d6                	call   *%esi
97352f:	89 45 d0             	mov    %eax,-0x30(%ebp)
973532:	85 c0                	test   %eax,%eax
973534:	75 05                	jne    0x97353b
973536:	e8 2b ea ab ff       	call   0x431f66
97353b:	8b bb 00 01 00 00    	mov    0x100(%ebx),%edi
973541:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
973545:	89 7d d4             	mov    %edi,-0x2c(%ebp)
973548:	89 7d e8             	mov    %edi,-0x18(%ebp)
97354b:	e8 c5 30 ac ff       	call   0x436615
973550:	50                   	push   %eax
973551:	8d 4d f0             	lea    -0x10(%ebp),%ecx
973554:	e8 bb 66 a9 ff       	call   0x409c14
973559:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
97355d:	85 ff                	test   %edi,%edi
97355f:	75 18                	jne    0x973579
973561:	8d 83 50 01 00 00    	lea    0x150(%ebx),%eax
973567:	50                   	push   %eax
973568:	8d 4d f0             	lea    -0x10(%ebp),%ecx
97356b:	e8 7d f1 a9 ff       	call   0x4126ed
973570:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
973577:	eb 1e                	jmp    0x973597
973579:	8d 45 e8             	lea    -0x18(%ebp),%eax
97357c:	50                   	push   %eax
97357d:	8d 8b fc 00 00 00    	lea    0xfc(%ebx),%ecx
973583:	e8 a8 c4 ac ff       	call   0x43fa30
973588:	50                   	push   %eax
973589:	8d 4d f0             	lea    -0x10(%ebp),%ecx
97358c:	e8 5c f1 a9 ff       	call   0x4126ed
973591:	8b 45 e8             	mov    -0x18(%ebp),%eax
973594:	89 45 d4             	mov    %eax,-0x2c(%ebp)
973597:	8b 75 f0             	mov    -0x10(%ebp),%esi
97359a:	8d 45 ec             	lea    -0x14(%ebp),%eax
97359d:	50                   	push   %eax
97359e:	56                   	push   %esi
97359f:	8d 8b e0 00 00 00    	lea    0xe0(%ebx),%ecx
9735a5:	e8 f8 4e ab ff       	call   0x4284a2
9735aa:	85 c0                	test   %eax,%eax
9735ac:	0f 84 aa 00 00 00    	je     0x97365c
9735b2:	8b 45 ec             	mov    -0x14(%ebp),%eax
9735b5:	85 c0                	test   %eax,%eax
9735b7:	0f 84 9f 00 00 00    	je     0x97365c
9735bd:	8b 58 04             	mov    0x4(%eax),%ebx
9735c0:	89 5d dc             	mov    %ebx,-0x24(%ebp)
9735c3:	eb 7e                	jmp    0x973643
9735c5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
9735c8:	51                   	push   %ecx
9735c9:	8b c8                	mov    %eax,%ecx
9735cb:	e8 f6 3a aa ff       	call   0x4170c6
9735d0:	8b 00                	mov    (%eax),%eax
9735d2:	89 45 e0             	mov    %eax,-0x20(%ebp)
9735d5:	85 c0                	test   %eax,%eax
9735d7:	0f 84 59 ff ff ff    	je     0x973536
9735dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
9735e0:	39 48 20             	cmp    %ecx,0x20(%eax)
9735e3:	75 58                	jne    0x97363d
9735e5:	8b 4d d0             	mov    -0x30(%ebp),%ecx
9735e8:	e8 28 88 a9 ff       	call   0x40be15
9735ed:	ff 75 0c             	push   0xc(%ebp)
9735f0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
9735f3:	8b 08                	mov    (%eax),%ecx
9735f5:	8b 79 14             	mov    0x14(%ecx),%edi
9735f8:	8b cf                	mov    %edi,%ecx
9735fa:	e8 66 90 ab ff       	call   0x42c665
9735ff:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
973602:	ff d7                	call   *%edi
973604:	8b 7d e4             	mov    -0x1c(%ebp),%edi
973607:	8d 4f 2c             	lea    0x2c(%edi),%ecx
97360a:	8b 01                	mov    (%ecx),%eax
97360c:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
973610:	75 0c                	jne    0x97361e
973612:	8b 45 e0             	mov    -0x20(%ebp),%eax
973615:	83 c0 2c             	add    $0x2c,%eax
973618:	50                   	push   %eax
973619:	e8 cf f0 a9 ff       	call   0x4126ed
97361e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
973621:	57                   	push   %edi
973622:	53                   	push   %ebx
973623:	e8 1f 3a ac ff       	call   0x437047
973628:	8b 5d e0             	mov    -0x20(%ebp),%ebx
97362b:	6a 01                	push   $0x1
97362d:	8b 03                	mov    (%ebx),%eax
97362f:	8b 78 04             	mov    0x4(%eax),%edi
973632:	8b cf                	mov    %edi,%ecx
973634:	e8 2c 90 ab ff       	call   0x42c665
973639:	8b cb                	mov    %ebx,%ecx
97363b:	ff d7                	call   *%edi
97363d:	8b 5d dc             	mov    -0x24(%ebp),%ebx
973640:	8b 45 ec             	mov    -0x14(%ebp),%eax
973643:	85 db                	test   %ebx,%ebx
973645:	0f 85 7a ff ff ff    	jne    0x9735c5
97364b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
97364f:	8d 4e f0             	lea    -0x10(%esi),%ecx
973652:	e8 bd 15 a9 ff       	call   0x404c14
973657:	8b 5d cc             	mov    -0x34(%ebp),%ebx
97365a:	eb 0c                	jmp    0x973668