5963df:	cc                   	int3
5963e0:	8b 44 24 08          	mov    0x8(%esp),%eax
5963e4:	ff 00                	incl   (%eax)
5963e6:	b8 01 00 00 00       	mov    $0x1,%eax
5963eb:	c3                   	ret
5963ec:	cc                   	int3
5963ed:	cc                   	int3
5963ee:	cc                   	int3
5963ef:	cc                   	int3
5963f0:	ff 74 24 04          	push   0x4(%esp)
5963f4:	6a ff                	push   $0xffffffff
5963f6:	6a 00                	push   $0x0
5963f8:	e8 33 f9 ff ff       	call   0x595d30
5963fd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
596401:	83 c4 0c             	add    $0xc,%esp
596404:	01 01                	add    %eax,(%ecx)
596406:	b8 01 00 00 00       	mov    $0x1,%eax
59640b:	c3                   	ret
59640c:	cc                   	int3
59640d:	cc                   	int3
59640e:	cc                   	int3
59640f:	cc                   	int3
596410:	53                   	push   %ebx
596411:	55                   	push   %ebp
596412:	56                   	push   %esi
596413:	57                   	push   %edi
596414:	8b 7c 24 18          	mov    0x18(%esp),%edi
596418:	85 ff                	test   %edi,%edi
59641a:	0f 84 ba 00 00 00    	je     0x5964da
596420:	8b 6c 24 20          	mov    0x20(%esp),%ebp
596424:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
596428:	8b 74 24 14          	mov    0x14(%esp),%esi
59642c:	0f 1f 40 00          	nopl   0x0(%eax)
596430:	81 fb 01 10 00 00    	cmp    $0x1001,%ebx
596436:	75 0b                	jne    0x596443
596438:	0f b6 0e             	movzbl (%esi),%ecx
59643b:	46                   	inc    %esi
59643c:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596440:	4f                   	dec    %edi
596441:	eb 7d                	jmp    0x5964c0
596443:	81 fb 02 10 00 00    	cmp    $0x1002,%ebx
596449:	75 1c                	jne    0x596467
59644b:	0f b6 0e             	movzbl (%esi),%ecx
59644e:	c1 e1 08             	shl    $0x8,%ecx
596451:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596455:	0f b6 46 01          	movzbl 0x1(%esi),%eax
596459:	83 c6 02             	add    $0x2,%esi
59645c:	0b c8                	or     %eax,%ecx
59645e:	83 ef 02             	sub    $0x2,%edi
596461:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596465:	eb 59                	jmp    0x5964c0
596467:	81 fb 04 10 00 00    	cmp    $0x1004,%ebx
59646d:	75 36                	jne    0x5964a5
59646f:	0f b6 0e             	movzbl (%esi),%ecx
596472:	c1 e1 18             	shl    $0x18,%ecx
596475:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596479:	0f b6 46 01          	movzbl 0x1(%esi),%eax
59647d:	c1 e0 10             	shl    $0x10,%eax
596480:	0b c8                	or     %eax,%ecx
596482:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596486:	0f b6 46 02          	movzbl 0x2(%esi),%eax
59648a:	c1 e0 08             	shl    $0x8,%eax
59648d:	0b c8                	or     %eax,%ecx
59648f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
596493:	0f b6 46 03          	movzbl 0x3(%esi),%eax
596497:	83 c6 04             	add    $0x4,%esi
59649a:	0b c8                	or     %eax,%ecx
59649c:	83 ef 04             	sub    $0x4,%edi
59649f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5964a3:	eb 1b                	jmp    0x5964c0
5964a5:	8d 44 24 18          	lea    0x18(%esp),%eax
5964a9:	50                   	push   %eax
5964aa:	57                   	push   %edi
5964ab:	56                   	push   %esi
5964ac:	e8 bf f5 ff ff       	call   0x595a70
5964b1:	83 c4 0c             	add    $0xc,%esp
5964b4:	85 c0                	test   %eax,%eax
5964b6:	78 2c                	js     0x5964e4
5964b8:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5964bc:	2b f8                	sub    %eax,%edi
5964be:	03 f0                	add    %eax,%esi
5964c0:	85 ed                	test   %ebp,%ebp
5964c2:	74 0e                	je     0x5964d2
5964c4:	ff 74 24 24          	push   0x24(%esp)
5964c8:	51                   	push   %ecx
5964c9:	ff d5                	call   *%ebp
5964cb:	83 c4 08             	add    $0x8,%esp
5964ce:	85 c0                	test   %eax,%eax
5964d0:	7e 0d                	jle    0x5964df
5964d2:	85 ff                	test   %edi,%edi
5964d4:	0f 85 56 ff ff ff    	jne    0x596430
5964da:	b8 01 00 00 00       	mov    $0x1,%eax
5964df:	5f                   	pop    %edi
5964e0:	5e                   	pop    %esi
5964e1:	5d                   	pop    %ebp
5964e2:	5b                   	pop    %ebx
5964e3:	c3                   	ret
5964e4:	5f                   	pop    %edi
5964e5:	5e                   	pop    %esi
5964e6:	5d                   	pop    %ebp
5964e7:	83 c8 ff             	or     $0xffffffff,%eax
5964ea:	5b                   	pop    %ebx
5964eb:	c3                   	ret
5964ec:	cc                   	int3
5964ed:	cc                   	int3
5964ee:	cc                   	int3
5964ef:	cc                   	int3
5964f0:	53                   	push   %ebx
5964f1:	56                   	push   %esi
5964f2:	8b 74 24 0c          	mov    0xc(%esp),%esi
5964f6:	57                   	push   %edi
5964f7:	8b 7c 24 14          	mov    0x14(%esp),%edi
5964fb:	8b 1f                	mov    (%edi),%ebx
5964fd:	f6 c3 02             	test   $0x2,%bl
596500:	74 37                	je     0x596539
596502:	83 fe 7f             	cmp    $0x7f,%esi
596505:	77 2f                	ja     0x596536
596507:	8d 46 9f             	lea    -0x61(%esi),%eax
59650a:	83 f8 19             	cmp    $0x19,%eax
59650d:	76 2a                	jbe    0x596539
59650f:	8d 46 bf             	lea    -0x41(%esi),%eax
596512:	83 f8 19             	cmp    $0x19,%eax
596515:	76 22                	jbe    0x596539
596517:	8d 46 d0             	lea    -0x30(%esi),%eax
59651a:	83 f8 09             	cmp    $0x9,%eax
59651d:	76 1a                	jbe    0x596539
59651f:	83 fe 20             	cmp    $0x20,%esi
596522:	74 15                	je     0x596539
596524:	56                   	push   %esi
596525:	68 d4 87 6c 00       	push   $0x6c87d4
59652a:	e8 31 db 04 00       	call   0x5e4060
59652f:	83 c4 08             	add    $0x8,%esp
596532:	85 c0                	test   %eax,%eax
596534:	75 03                	jne    0x596539
596536:	83 e3 fd             	and    $0xfffffffd,%ebx
596539:	f6 c3 10             	test   $0x10,%bl
59653c:	74 08                	je     0x596546
59653e:	83 fe 7f             	cmp    $0x7f,%esi
596541:	76 03                	jbe    0x596546
596543:	83 e3 ef             	and    $0xffffffef,%ebx
596546:	f6 c3 04             	test   $0x4,%bl
596549:	74 0b                	je     0x596556
59654b:	81 fe ff 00 00 00    	cmp    $0xff,%esi
596551:	76 03                	jbe    0x596556
596553:	83 e3 fb             	and    $0xfffffffb,%ebx
596556:	f7 c3 00 08 00 00    	test   $0x800,%ebx
59655c:	74 0e                	je     0x59656c
59655e:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
596564:	76 06                	jbe    0x59656c
596566:	81 e3 ff f7 ff ff    	and    $0xfffff7ff,%ebx
59656c:	85 db                	test   %ebx,%ebx
59656e:	75 07                	jne    0x596577
596570:	5f                   	pop    %edi
596571:	5e                   	pop    %esi
596572:	83 c8 ff             	or     $0xffffffff,%eax
596575:	5b                   	pop    %ebx
596576:	c3                   	ret
596577:	89 1f                	mov    %ebx,(%edi)
596579:	b8 01 00 00 00       	mov    $0x1,%eax
59657e:	5f                   	pop    %edi
59657f:	5e                   	pop    %esi
596580:	5b                   	pop    %ebx
596581:	c3                   	ret
596582:	cc                   	int3
596583:	cc                   	int3
596584:	cc                   	int3
596585:	cc                   	int3
596586:	cc                   	int3
596587:	cc                   	int3
596588:	cc                   	int3
596589:	cc                   	int3
59658a:	cc                   	int3
59658b:	cc                   	int3
59658c:	cc                   	int3
59658d:	cc                   	int3
59658e:	cc                   	int3
59658f:	cc                   	int3
596590:	8b 44 24 04          	mov    0x4(%esp),%eax
596594:	ff 70 0c             	push   0xc(%eax)
596597:	e8 c4 e5 00 00       	call   0x5a4b60
59659c:	83 c4 04             	add    $0x4,%esp
59659f:	c3                   	ret
5965a0:	ff 74 24 0c          	push   0xc(%esp)
5965a4:	8b 44 24 08          	mov    0x8(%esp),%eax
5965a8:	ff 74 24 0c          	push   0xc(%esp)
5965ac:	ff 70 0c             	push   0xc(%eax)
5965af:	e8 ec e5 00 00       	call   0x5a4ba0
5965b4:	83 c4 0c             	add    $0xc,%esp
5965b7:	c3                   	ret
5965b8:	cc                   	int3
5965b9:	cc                   	int3
5965ba:	cc                   	int3
5965bb:	cc                   	int3
5965bc:	cc                   	int3
5965bd:	cc                   	int3
5965be:	cc                   	int3
5965bf:	cc                   	int3
5965c0:	8b 44 24 04          	mov    0x4(%esp),%eax
5965c4:	ff 70 0c             	push   0xc(%eax)
5965c7:	ff 74 24 0c          	push   0xc(%esp)
5965cb:	e8 70 e4 00 00       	call   0x5a4a40
5965d0:	83 c4 08             	add    $0x8,%esp
5965d3:	c3                   	ret
5965d4:	cc                   	int3
5965d5:	cc                   	int3
5965d6:	cc                   	int3
5965d7:	cc                   	int3
5965d8:	cc                   	int3
5965d9:	cc                   	int3
5965da:	cc                   	int3
5965db:	cc                   	int3
5965dc:	cc                   	int3
5965dd:	cc                   	int3
5965de:	cc                   	int3
5965df:	cc                   	int3
5965e0:	ff 74 24 10          	push   0x10(%esp)
5965e4:	ff 74 24 10          	push   0x10(%esp)
5965e8:	ff 74 24 0c          	push   0xc(%esp)
5965ec:	ff 74 24 14          	push   0x14(%esp)
5965f0:	e8 3b c5 ff ff       	call   0x592b30
5965f5:	50                   	push   %eax
5965f6:	e8 b5 ef 00 00       	call   0x5a55b0
5965fb:	83 c4 14             	add    $0x14,%esp
5965fe:	c3                   	ret
5965ff:	cc                   	int3
596600:	ff 74 24 10          	push   0x10(%esp)
596604:	ff 74 24 10          	push   0x10(%esp)
596608:	ff 74 24 0c          	push   0xc(%esp)
59660c:	ff 74 24 14          	push   0x14(%esp)
596610:	e8 3b c1 ff ff       	call   0x592750
596615:	50                   	push   %eax
596616:	e8 95 ef 00 00       	call   0x5a55b0
59661b:	83 c4 14             	add    $0x14,%esp
59661e:	c3                   	ret
59661f:	cc                   	int3
596620:	83 7c 24 04 01       	cmpl   $0x1,0x4(%esp)
596625:	8b 44 24 08          	mov    0x8(%esp),%eax
596629:	56                   	push   %esi
59662a:	8b 30                	mov    (%eax),%esi
59662c:	75 0e                	jne    0x59663c
59662e:	e8 cd 7f f1 ff       	call   0x4ae600
596633:	89 46 18             	mov    %eax,0x18(%esi)
596636:	85 c0                	test   %eax,%eax
596638:	75 02                	jne    0x59663c
59663a:	5e                   	pop    %esi
59663b:	c3                   	ret
59663c:	b8 01 00 00 00       	mov    $0x1,%eax
596641:	5e                   	pop    %esi
596642:	c3                   	ret
596643:	cc                   	int3
596644:	cc                   	int3
596645:	cc                   	int3
596646:	cc                   	int3
596647:	cc                   	int3
596648:	cc                   	int3
596649:	cc                   	int3
59664a:	cc                   	int3
59664b:	cc                   	int3
59664c:	cc                   	int3
59664d:	cc                   	int3
59664e:	cc                   	int3
59664f:	cc                   	int3
596650:	b8 98 88 6c 00       	mov    $0x6c8898,%eax
596655:	c3                   	ret
596656:	cc                   	int3
596657:	cc                   	int3
596658:	cc                   	int3
596659:	cc                   	int3
59665a:	cc                   	int3
59665b:	cc                   	int3
59665c:	cc                   	int3
59665d:	cc                   	int3
59665e:	cc                   	int3
59665f:	cc                   	int3
596660:	8b 54 24 08          	mov    0x8(%esp),%edx
596664:	83 c8 ff             	or     $0xffffffff,%eax
596667:	53                   	push   %ebx
596668:	56                   	push   %esi
596669:	33 f6                	xor    %esi,%esi
59666b:	33 db                	xor    %ebx,%ebx
59666d:	85 d2                	test   %edx,%edx
59666f:	57                   	push   %edi
596670:	8b 7c 24 10          	mov    0x10(%esp),%edi
596674:	0f 4e d0             	cmovle %eax,%edx
596677:	85 ff                	test   %edi,%edi
596679:	0f 84 99 00 00 00    	je     0x596718
59667f:	8a 0f                	mov    (%edi),%cl
596681:	84 c9                	test   %cl,%cl
596683:	0f 84 8f 00 00 00    	je     0x596718
596689:	55                   	push   %ebp
59668a:	8d 6e 01             	lea    0x1(%esi),%ebp
59668d:	0f 1f 00             	nopl   (%eax)
596690:	8b c2                	mov    %edx,%eax
596692:	4a                   	dec    %edx
596693:	85 c0                	test   %eax,%eax
596695:	74 6a                	je     0x596701
596697:	0f b6 c1             	movzbl %cl,%eax
59669a:	47                   	inc    %edi
59669b:	83 f8 61             	cmp    $0x61,%eax
59669e:	7c 05                	jl     0x5966a5
5966a0:	83 f8 7a             	cmp    $0x7a,%eax
5966a3:	7e 51                	jle    0x5966f6
5966a5:	83 f8 41             	cmp    $0x41,%eax
5966a8:	7c 05                	jl     0x5966af
5966aa:	83 f8 5a             	cmp    $0x5a,%eax
5966ad:	7e 47                	jle    0x5966f6
5966af:	83 f8 20             	cmp    $0x20,%eax
5966b2:	74 42                	je     0x5966f6
5966b4:	83 f8 30             	cmp    $0x30,%eax
5966b7:	7c 05                	jl     0x5966be
5966b9:	83 f8 39             	cmp    $0x39,%eax
5966bc:	7e 38                	jle    0x5966f6
5966be:	83 f8 27             	cmp    $0x27,%eax
5966c1:	74 33                	je     0x5966f6
5966c3:	83 f8 28             	cmp    $0x28,%eax
5966c6:	74 2e                	je     0x5966f6
5966c8:	83 f8 29             	cmp    $0x29,%eax
5966cb:	74 29                	je     0x5966f6
5966cd:	83 f8 2b             	cmp    $0x2b,%eax
5966d0:	74 24                	je     0x5966f6
5966d2:	83 f8 2c             	cmp    $0x2c,%eax
5966d5:	74 1f                	je     0x5966f6
5966d7:	83 f8 2d             	cmp    $0x2d,%eax
5966da:	74 1a                	je     0x5966f6
5966dc:	83 f8 2e             	cmp    $0x2e,%eax
5966df:	74 15                	je     0x5966f6
5966e1:	83 f8 2f             	cmp    $0x2f,%eax
5966e4:	74 10                	je     0x5966f6
5966e6:	83 f8 3a             	cmp    $0x3a,%eax
5966e9:	74 0b                	je     0x5966f6
5966eb:	83 f8 3d             	cmp    $0x3d,%eax
5966ee:	74 06                	je     0x5966f6
5966f0:	83 f8 3f             	cmp    $0x3f,%eax
5966f3:	0f 45 f5             	cmovne %ebp,%esi
5966f6:	8a 0f                	mov    (%edi),%cl
5966f8:	a8 80                	test   $0x80,%al
5966fa:	0f 45 dd             	cmovne %ebp,%ebx
5966fd:	84 c9                	test   %cl,%cl
5966ff:	75 8f                	jne    0x596690
596701:	5d                   	pop    %ebp
596702:	85 db                	test   %ebx,%ebx
596704:	74 09                	je     0x59670f
596706:	5f                   	pop    %edi
596707:	5e                   	pop    %esi
596708:	b8 14 00 00 00       	mov    $0x14,%eax
59670d:	5b                   	pop    %ebx
59670e:	c3                   	ret
59670f:	b8 16 00 00 00       	mov    $0x16,%eax
596714:	85 f6                	test   %esi,%esi
596716:	75 05                	jne    0x59671d