59327c:	68 9c 6f 66 00       	push   $0x666f9c
593281:	50                   	push   %eax
593282:	e8 f9 d4 f4 ff       	call   0x4e0780
593287:	83 c4 0c             	add    $0xc,%esp
59328a:	c7 86 78 06 00 00 00 	movl   $0x0,0x678(%esi)
593291:	00 00 00
593294:	6a 78                	push   $0x78
593296:	68 9c 6f 66 00       	push   $0x666f9c
59329b:	57                   	push   %edi
59329c:	e8 af d4 f4 ff       	call   0x4e0750
5932a1:	83 c4 0c             	add    $0xc,%esp
5932a4:	85 c0                	test   %eax,%eax
5932a6:	74 32                	je     0x5932da
5932a8:	c7 86 7c 06 00 00 00 	movl   $0x0,0x67c(%esi)
5932af:	00 00 00
5932b2:	c7 86 84 06 00 00 00 	movl   $0x0,0x684(%esi)
5932b9:	00 00 00
5932bc:	c7 86 88 06 00 00 00 	movl   $0x0,0x688(%esi)
5932c3:	00 00 00
5932c6:	89 86 78 06 00 00    	mov    %eax,0x678(%esi)
5932cc:	89 be 80 06 00 00    	mov    %edi,0x680(%esi)
5932d2:	5f                   	pop    %edi
5932d3:	b8 01 00 00 00       	mov    $0x1,%eax
5932d8:	5e                   	pop    %esi
5932d9:	c3                   	ret
5932da:	c7 86 60 06 00 00 00 	movl   $0x0,0x660(%esi)
5932e1:	00 00 00
5932e4:	b8 23 01 00 00       	mov    $0x123,%eax
5932e9:	b9 81 00 00 00       	mov    $0x81,%ecx
5932ee:	51                   	push   %ecx
5932ef:	68 9c 6f 66 00       	push   $0x666f9c
5932f4:	6a 41                	push   $0x41
5932f6:	50                   	push   %eax
5932f7:	6a ff                	push   $0xffffffff
5932f9:	56                   	push   %esi
5932fa:	e8 11 be ff ff       	call   0x58f110
5932ff:	83 c4 18             	add    $0x18,%esp
593302:	33 c0                	xor    %eax,%eax
593304:	5f                   	pop    %edi
593305:	5e                   	pop    %esi
593306:	c3                   	ret
593307:	cc                   	int3
593308:	cc                   	int3
593309:	cc                   	int3
59330a:	cc                   	int3
59330b:	cc                   	int3
59330c:	cc                   	int3
59330d:	cc                   	int3
59330e:	cc                   	int3
59330f:	cc                   	int3
593310:	56                   	push   %esi
593311:	8b 74 24 08          	mov    0x8(%esp),%esi
593315:	57                   	push   %edi
593316:	8b 46 04             	mov    0x4(%esi),%eax
593319:	8b 40 64             	mov    0x64(%eax),%eax
59331c:	8b 48 30             	mov    0x30(%eax),%ecx
59331f:	8b 86 64 06 00 00    	mov    0x664(%esi),%eax
593325:	83 e1 08             	and    $0x8,%ecx
593328:	85 c0                	test   %eax,%eax
59332a:	75 55                	jne    0x593381
59332c:	8b be 68 06 00 00    	mov    0x668(%esi),%edi
593332:	85 c9                	test   %ecx,%ecx
593334:	6a 3f                	push   $0x3f
593336:	0f 95 c0             	setne  %al
593339:	68 9c 6f 66 00       	push   $0x666f9c
59333e:	8d 04 c5 48 41 00 00 	lea    0x4148(,%eax,8),%eax
593345:	3b f8                	cmp    %eax,%edi
593347:	0f 46 f8             	cmovbe %eax,%edi
59334a:	57                   	push   %edi
59334b:	e8 00 d4 f4 ff       	call   0x4e0750
593350:	83 c4 0c             	add    $0xc,%esp
593353:	85 c0                	test   %eax,%eax
593355:	75 1e                	jne    0x593375
593357:	6a 46                	push   $0x46
593359:	68 9c 6f 66 00       	push   $0x666f9c
59335e:	6a 41                	push   $0x41
593360:	68 9c 00 00 00       	push   $0x9c
593365:	6a ff                	push   $0xffffffff
593367:	56                   	push   %esi
593368:	e8 a3 bd ff ff       	call   0x58f110
59336d:	83 c4 18             	add    $0x18,%esp
593370:	33 c0                	xor    %eax,%eax
593372:	5f                   	pop    %edi
593373:	5e                   	pop    %esi
593374:	c3                   	ret
593375:	89 86 64 06 00 00    	mov    %eax,0x664(%esi)
59337b:	89 be 6c 06 00 00    	mov    %edi,0x66c(%esi)
593381:	89 86 f8 0e 00 00    	mov    %eax,0xef8(%esi)
593387:	b8 01 00 00 00       	mov    $0x1,%eax
59338c:	5f                   	pop    %edi
59338d:	5e                   	pop    %esi
59338e:	c3                   	ret
59338f:	cc                   	int3
593390:	53                   	push   %ebx
593391:	8b 5c 24 08          	mov    0x8(%esp),%ebx
593395:	55                   	push   %ebp
593396:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59339a:	56                   	push   %esi
59339b:	57                   	push   %edi
59339c:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5933a0:	89 ab 60 06 00 00    	mov    %ebp,0x660(%ebx)
5933a6:	85 ff                	test   %edi,%edi
5933a8:	75 36                	jne    0x5933e0
5933aa:	8b 43 04             	mov    0x4(%ebx),%eax
5933ad:	be 0e 00 00 00       	mov    $0xe,%esi
5933b2:	53                   	push   %ebx
5933b3:	8b 40 64             	mov    0x64(%eax),%eax
5933b6:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5933ba:	b8 05 00 00 00       	mov    $0x5,%eax
5933bf:	0f 44 f0             	cmove  %eax,%esi
5933c2:	e8 69 6e ff ff       	call   0x58a230
5933c7:	8d 7e 57             	lea    0x57(%esi),%edi
5933ca:	83 c4 04             	add    $0x4,%esp
5933cd:	03 f8                	add    %eax,%edi
5933cf:	f7 83 ec 04 00 00 00 	testl  $0x800,0x4ec(%ebx)
5933d6:	08 00 00
5933d9:	75 05                	jne    0x5933e0
5933db:	83 c7 57             	add    $0x57,%edi
5933de:	03 fe                	add    %esi,%edi
5933e0:	8d b3 78 06 00 00    	lea    0x678(%ebx),%esi
5933e6:	33 db                	xor    %ebx,%ebx
5933e8:	85 ed                	test   %ebp,%ebp
5933ea:	74 5b                	je     0x593447
5933ec:	0f 1f 40 00          	nopl   0x0(%eax)
5933f0:	8b 06                	mov    (%esi),%eax
5933f2:	85 c0                	test   %eax,%eax
5933f4:	74 1b                	je     0x593411
5933f6:	39 7e 08             	cmp    %edi,0x8(%esi)
5933f9:	74 44                	je     0x59343f
5933fb:	6a 73                	push   $0x73
5933fd:	68 9c 6f 66 00       	push   $0x666f9c
593402:	50                   	push   %eax
593403:	e8 78 d3 f4 ff       	call   0x4e0780
593408:	83 c4 0c             	add    $0xc,%esp
59340b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
593411:	6a 78                	push   $0x78
593413:	68 9c 6f 66 00       	push   $0x666f9c
593418:	57                   	push   %edi
593419:	e8 32 d3 f4 ff       	call   0x4e0750
59341e:	83 c4 0c             	add    $0xc,%esp
593421:	85 c0                	test   %eax,%eax
593423:	74 2c                	je     0x593451
593425:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
59342c:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
593433:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
59343a:	89 06                	mov    %eax,(%esi)
59343c:	89 7e 08             	mov    %edi,0x8(%esi)
59343f:	43                   	inc    %ebx
593440:	83 c6 14             	add    $0x14,%esi
593443:	3b dd                	cmp    %ebp,%ebx
593445:	72 a9                	jb     0x5933f0
593447:	5f                   	pop    %edi
593448:	5e                   	pop    %esi
593449:	5d                   	pop    %ebp
59344a:	b8 01 00 00 00       	mov    $0x1,%eax
59344f:	5b                   	pop    %ebx
593450:	c3                   	ret
593451:	8b 44 24 14          	mov    0x14(%esp),%eax
593455:	68 81 00 00 00       	push   $0x81
59345a:	68 9c 6f 66 00       	push   $0x666f9c
59345f:	6a 41                	push   $0x41
593461:	68 23 01 00 00       	push   $0x123
593466:	6a ff                	push   $0xffffffff
593468:	50                   	push   %eax
593469:	89 98 60 06 00 00    	mov    %ebx,0x660(%eax)
59346f:	e8 9c bc ff ff       	call   0x58f110
593474:	83 c4 18             	add    $0x18,%esp
593477:	33 c0                	xor    %eax,%eax
593479:	5f                   	pop    %edi
59347a:	5e                   	pop    %esi
59347b:	5d                   	pop    %ebp
59347c:	5b                   	pop    %ebx
59347d:	c3                   	ret
59347e:	cc                   	int3
59347f:	cc                   	int3
593480:	8b 54 24 04          	mov    0x4(%esp),%edx
593484:	56                   	push   %esi
593485:	8b 74 24 10          	mov    0x10(%esp),%esi
593489:	39 72 04             	cmp    %esi,0x4(%edx)
59348c:	72 14                	jb     0x5934a2
59348e:	8b 44 24 0c          	mov    0xc(%esp),%eax
593492:	8b 0a                	mov    (%edx),%ecx
593494:	89 08                	mov    %ecx,(%eax)
593496:	b8 01 00 00 00       	mov    $0x1,%eax
59349b:	01 32                	add    %esi,(%edx)
59349d:	29 72 04             	sub    %esi,0x4(%edx)
5934a0:	5e                   	pop    %esi
5934a1:	c3                   	ret
5934a2:	33 c0                	xor    %eax,%eax
5934a4:	5e                   	pop    %esi
5934a5:	c3                   	ret
5934a6:	cc                   	int3
5934a7:	cc                   	int3
5934a8:	cc                   	int3
5934a9:	cc                   	int3
5934aa:	cc                   	int3
5934ab:	cc                   	int3
5934ac:	cc                   	int3
5934ad:	cc                   	int3
5934ae:	cc                   	int3
5934af:	cc                   	int3
5934b0:	56                   	push   %esi
5934b1:	8b 74 24 08          	mov    0x8(%esp),%esi
5934b5:	83 7e 04 02          	cmpl   $0x2,0x4(%esi)
5934b9:	72 26                	jb     0x5934e1
5934bb:	8b 06                	mov    (%esi),%eax
5934bd:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5934c1:	0f b6 10             	movzbl (%eax),%edx
5934c4:	c1 e2 08             	shl    $0x8,%edx
5934c7:	89 11                	mov    %edx,(%ecx)
5934c9:	8b 06                	mov    (%esi),%eax
5934cb:	0f b6 40 01          	movzbl 0x1(%eax),%eax
5934cf:	0b c2                	or     %edx,%eax
5934d1:	89 01                	mov    %eax,(%ecx)
5934d3:	b8 01 00 00 00       	mov    $0x1,%eax
5934d8:	83 06 02             	addl   $0x2,(%esi)
5934db:	83 46 04 fe          	addl   $0xfffffffe,0x4(%esi)
5934df:	5e                   	pop    %esi
5934e0:	c3                   	ret
5934e1:	33 c0                	xor    %eax,%eax
5934e3:	5e                   	pop    %esi
5934e4:	c3                   	ret
5934e5:	cc                   	int3
5934e6:	cc                   	int3
5934e7:	cc                   	int3
5934e8:	cc                   	int3
5934e9:	cc                   	int3
5934ea:	cc                   	int3
5934eb:	cc                   	int3
5934ec:	cc                   	int3
5934ed:	cc                   	int3
5934ee:	cc                   	int3
5934ef:	cc                   	int3
5934f0:	8b 44 24 08          	mov    0x8(%esp),%eax
5934f4:	ff 30                	push   (%eax)
5934f6:	8b 44 24 08          	mov    0x8(%esp),%eax
5934fa:	ff 30                	push   (%eax)
5934fc:	e8 4f 46 fc ff       	call   0x557b50
593501:	83 c4 08             	add    $0x8,%esp
593504:	c3                   	ret
593505:	cc                   	int3
593506:	cc                   	int3
593507:	cc                   	int3
593508:	cc                   	int3
593509:	cc                   	int3
59350a:	cc                   	int3
59350b:	cc                   	int3
59350c:	cc                   	int3
59350d:	cc                   	int3
59350e:	cc                   	int3
59350f:	cc                   	int3
593510:	81 7c 24 08 03 03 00 	cmpl   $0x303,0x8(%esp)
593517:	00
593518:	56                   	push   %esi
593519:	8b 74 24 08          	mov    0x8(%esp),%esi
59351d:	75 20                	jne    0x59353f
59351f:	6a 00                	push   $0x0
593521:	68 04 03 00 00       	push   $0x304
593526:	56                   	push   %esi
593527:	e8 64 14 00 00       	call   0x594990
59352c:	83 c4 0c             	add    $0xc,%esp
59352f:	85 c0                	test   %eax,%eax
593531:	74 0c                	je     0x59353f
593533:	8b 44 24 10          	mov    0x10(%esp),%eax
593537:	5e                   	pop    %esi
593538:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
59353e:	c3                   	ret
59353f:	8b 46 04             	mov    0x4(%esi),%eax
593542:	8b 40 64             	mov    0x64(%eax),%eax
593545:	f6 40 30 08          	testb  $0x8,0x30(%eax)
593549:	75 2a                	jne    0x593575
59354b:	81 7c 24 0c 03 03 00 	cmpl   $0x303,0xc(%esp)
593552:	00
593553:	7d 20                	jge    0x593575
593555:	6a 00                	push   $0x0
593557:	68 03 03 00 00       	push   $0x303
59355c:	56                   	push   %esi
59355d:	e8 2e 14 00 00       	call   0x594990
593562:	83 c4 0c             	add    $0xc,%esp
593565:	85 c0                	test   %eax,%eax
593567:	74 0c                	je     0x593575
593569:	8b 44 24 10          	mov    0x10(%esp),%eax
59356d:	5e                   	pop    %esi
59356e:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
593574:	c3                   	ret
593575:	8b 44 24 10          	mov    0x10(%esp),%eax
593579:	5e                   	pop    %esi
59357a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
593580:	c3                   	ret
593581:	cc                   	int3
593582:	cc                   	int3
593583:	cc                   	int3
593584:	cc                   	int3
593585:	cc                   	int3
593586:	cc                   	int3
593587:	cc                   	int3
593588:	cc                   	int3
593589:	cc                   	int3
59358a:	cc                   	int3
59358b:	cc                   	int3
59358c:	cc                   	int3
59358d:	cc                   	int3
59358e:	cc                   	int3
59358f:	cc                   	int3
593590:	53                   	push   %ebx
593591:	8b 5c 24 10          	mov    0x10(%esp),%ebx
593595:	55                   	push   %ebp
593596:	56                   	push   %esi
593597:	57                   	push   %edi
593598:	85 db                	test   %ebx,%ebx
59359a:	74 3e                	je     0x5935da
59359c:	8b 7c 24 20          	mov    0x20(%esp),%edi
5935a0:	85 ff                	test   %edi,%edi
5935a2:	74 36                	je     0x5935da
5935a4:	33 f6                	xor    %esi,%esi
5935a6:	85 ff                	test   %edi,%edi
5935a8:	74 30                	je     0x5935da
5935aa:	8b 6c 24 24          	mov    0x24(%esp),%ebp
5935ae:	66 90                	xchg   %ax,%ax
5935b0:	0f b7 04 73          	movzwl (%ebx,%esi,2),%eax
5935b4:	66 39 44 24 18       	cmp    %ax,0x18(%esp)
5935b9:	75 1a                	jne    0x5935d5
5935bb:	85 ed                	test   %ebp,%ebp
5935bd:	74 22                	je     0x5935e1
5935bf:	68 06 00 02 00       	push   $0x20006
5935c4:	50                   	push   %eax
5935c5:	ff 74 24 1c          	push   0x1c(%esp)
5935c9:	e8 b2 78 00 00       	call   0x59ae80
5935ce:	83 c4 0c             	add    $0xc,%esp
5935d1:	85 c0                	test   %eax,%eax
5935d3:	75 0c                	jne    0x5935e1
5935d5:	46                   	inc    %esi
5935d6:	3b f7                	cmp    %edi,%esi
5935d8:	72 d6                	jb     0x5935b0
5935da:	5f                   	pop    %edi
5935db:	5e                   	pop    %esi
5935dc:	5d                   	pop    %ebp
5935dd:	33 c0                	xor    %eax,%eax
5935df:	5b                   	pop    %ebx
5935e0:	c3                   	ret
5935e1:	5f                   	pop    %edi
5935e2:	5e                   	pop    %esi
5935e3:	5d                   	pop    %ebp
5935e4:	b8 01 00 00 00       	mov    $0x1,%eax
5935e9:	5b                   	pop    %ebx
5935ea:	c3                   	ret
5935eb:	cc                   	int3
5935ec:	cc                   	int3
5935ed:	cc                   	int3
5935ee:	cc                   	int3