59622d:	68 f3 00 00 00       	push   $0xf3
596232:	68 a0 87 6c 00       	push   $0x6c87a0
596237:	6a 41                	push   $0x41
596239:	e9 a9 00 00 00       	jmp    0x5962e7
59623e:	8d 04 36             	lea    (%esi,%esi,1),%eax
596241:	c7 44 24 1c 60 63 59 	movl   $0x596360,0x1c(%esp)
596248:	00
596249:	89 44 24 18          	mov    %eax,0x18(%esp)
59624d:	eb ab                	jmp    0x5961fa
59624f:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
596256:	c7 44 24 1c 80 63 59 	movl   $0x596380,0x1c(%esp)
59625d:	00
59625e:	89 44 24 18          	mov    %eax,0x18(%esp)
596262:	eb 96                	jmp    0x5961fa
596264:	8b 74 24 14          	mov    0x14(%esp),%esi
596268:	8d 44 24 18          	lea    0x18(%esp),%eax
59626c:	50                   	push   %eax
59626d:	68 f0 63 59 00       	push   $0x5963f0
596272:	51                   	push   %ecx
596273:	53                   	push   %ebx
596274:	56                   	push   %esi
596275:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
59627c:	00
59627d:	e8 8e 01 00 00       	call   0x596410
596282:	83 c4 14             	add    $0x14,%esp
596285:	c7 44 24 1c b0 63 59 	movl   $0x5963b0,0x1c(%esp)
59628c:	00
59628d:	e9 6c ff ff ff       	jmp    0x5961fe
596292:	8b 44 24 18          	mov    0x18(%esp),%eax
596296:	89 45 00             	mov    %eax,0x0(%ebp)
596299:	8b 44 24 28          	mov    0x28(%esp),%eax
59629d:	89 45 08             	mov    %eax,0x8(%ebp)
5962a0:	8b 44 24 28          	mov    0x28(%esp),%eax
5962a4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5962a8:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
5962ac:	8d 44 24 28          	lea    0x28(%esp),%eax
5962b0:	50                   	push   %eax
5962b1:	ff 74 24 20          	push   0x20(%esp)
5962b5:	ff 74 24 68          	push   0x68(%esp)
5962b9:	53                   	push   %ebx
5962ba:	56                   	push   %esi
5962bb:	e8 50 01 00 00       	call   0x596410
5962c0:	83 c4 14             	add    $0x14,%esp
5962c3:	8b c7                	mov    %edi,%eax
5962c5:	5f                   	pop    %edi
5962c6:	5e                   	pop    %esi
5962c7:	5d                   	pop    %ebp
5962c8:	5b                   	pop    %ebx
5962c9:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
5962cd:	33 cc                	xor    %esp,%ecx
5962cf:	e8 06 b2 04 00       	call   0x5e14da
5962d4:	83 c4 40             	add    $0x40,%esp
5962d7:	c3                   	ret
5962d8:	68 92 00 00 00       	push   $0x92
5962dd:	68 a0 87 6c 00       	push   $0x6c87a0
5962e2:	68 a0 00 00 00       	push   $0xa0
5962e7:	6a 7a                	push   $0x7a
5962e9:	6a 0d                	push   $0xd
5962eb:	e8 b0 b1 f0 ff       	call   0x4a14a0
5962f0:	83 c4 14             	add    $0x14,%esp
5962f3:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
5962f7:	83 c8 ff             	or     $0xffffffff,%eax
5962fa:	5f                   	pop    %edi
5962fb:	5e                   	pop    %esi
5962fc:	5d                   	pop    %ebp
5962fd:	5b                   	pop    %ebx
5962fe:	33 cc                	xor    %esp,%ecx
596300:	e8 d5 b1 04 00       	call   0x5e14da
596305:	83 c4 40             	add    $0x40,%esp
596308:	c3                   	ret
596309:	0f 1f 00             	nopl   (%eax)
59630c:	c5 5f 59             	lds    0x59(%edi),%ebx
59630f:	00 64 60 59          	add    %ah,0x59(%eax,%eiz,2)
596313:	00 8c 5f 59 00 d8 62 	add    %cl,0x62d80059(%edi,%ebx,2)
59631a:	59                   	pop    %ecx
59631b:	00 a8 5f 59 00 64    	add    %ch,0x6400595f(%eax)
596321:	62 59 00             	bound  %ebx,0x0(%ecx)
596324:	ee                   	out    %al,(%dx)
596325:	61                   	popa
596326:	59                   	pop    %ecx
596327:	00 3e                	add    %bh,(%esi)
596329:	62 59 00             	bound  %ebx,0x0(%ecx)
59632c:	fa                   	cli
59632d:	61                   	popa
59632e:	59                   	pop    %ecx
59632f:	00 4f 62             	add    %cl,0x62(%edi)
596332:	59                   	pop    %ecx
596333:	00 cc                	add    %cl,%ah
596335:	cc                   	int3
596336:	cc                   	int3
596337:	cc                   	int3
596338:	cc                   	int3
596339:	cc                   	int3
59633a:	cc                   	int3
59633b:	cc                   	int3
59633c:	cc                   	int3
59633d:	cc                   	int3
59633e:	cc                   	int3
59633f:	cc                   	int3
596340:	8b 54 24 08          	mov    0x8(%esp),%edx
596344:	8a 44 24 04          	mov    0x4(%esp),%al
596348:	8b 0a                	mov    (%edx),%ecx
59634a:	88 01                	mov    %al,(%ecx)
59634c:	b8 01 00 00 00       	mov    $0x1,%eax
596351:	ff 02                	incl   (%edx)
596353:	c3                   	ret
596354:	cc                   	int3
596355:	cc                   	int3
596356:	cc                   	int3
596357:	cc                   	int3
596358:	cc                   	int3
596359:	cc                   	int3
59635a:	cc                   	int3
59635b:	cc                   	int3
59635c:	cc                   	int3
59635d:	cc                   	int3
59635e:	cc                   	int3
59635f:	cc                   	int3
596360:	8b 4c 24 04          	mov    0x4(%esp),%ecx
596364:	8b c1                	mov    %ecx,%eax
596366:	56                   	push   %esi
596367:	8b 74 24 0c          	mov    0xc(%esp),%esi
59636b:	c1 e8 08             	shr    $0x8,%eax
59636e:	8b 16                	mov    (%esi),%edx
596370:	88 02                	mov    %al,(%edx)
596372:	b8 01 00 00 00       	mov    $0x1,%eax
596377:	88 4a 01             	mov    %cl,0x1(%edx)
59637a:	83 06 02             	addl   $0x2,(%esi)
59637d:	5e                   	pop    %esi
59637e:	c3                   	ret
59637f:	cc                   	int3
596380:	8b 4c 24 04          	mov    0x4(%esp),%ecx
596384:	8b c1                	mov    %ecx,%eax
596386:	56                   	push   %esi
596387:	8b 74 24 0c          	mov    0xc(%esp),%esi
59638b:	c1 e8 18             	shr    $0x18,%eax
59638e:	8b 16                	mov    (%esi),%edx
596390:	88 02                	mov    %al,(%edx)
596392:	8b c1                	mov    %ecx,%eax
596394:	c1 e8 10             	shr    $0x10,%eax
596397:	88 42 01             	mov    %al,0x1(%edx)
59639a:	8b c1                	mov    %ecx,%eax
59639c:	c1 e8 08             	shr    $0x8,%eax
59639f:	88 42 02             	mov    %al,0x2(%edx)
5963a2:	b8 01 00 00 00       	mov    $0x1,%eax
5963a7:	88 4a 03             	mov    %cl,0x3(%edx)
5963aa:	83 06 04             	addl   $0x4,(%esi)
5963ad:	5e                   	pop    %esi
5963ae:	c3                   	ret
5963af:	cc                   	int3
5963b0:	56                   	push   %esi
5963b1:	ff 74 24 08          	push   0x8(%esp)
5963b5:	8b 74 24 10          	mov    0x10(%esp),%esi
5963b9:	68 ff 00 00 00       	push   $0xff
5963be:	ff 36                	push   (%esi)
5963c0:	e8 6b f9 ff ff       	call   0x595d30
5963c5:	01 06                	add    %eax,(%esi)
5963c7:	83 c4 0c             	add    $0xc,%esp
5963ca:	b8 01 00 00 00       	mov    $0x1,%eax
5963cf:	5e                   	pop    %esi
5963d0:	c3                   	ret
5963d1:	cc                   	int3
5963d2:	cc                   	int3
5963d3:	cc                   	int3
5963d4:	cc                   	int3
5963d5:	cc                   	int3
5963d6:	cc                   	int3
5963d7:	cc                   	int3
5963d8:	cc                   	int3
5963d9:	cc                   	int3
5963da:	cc                   	int3
5963db:	cc                   	int3
5963dc:	cc                   	int3
5963dd:	cc                   	int3
5963de:	cc                   	int3
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