a59298:	83 61 10 00          	andl   $0x0,0x10(%ecx)
a5929c:	8b c1                	mov    %ecx,%eax
a5929e:	83 61 14 00          	andl   $0x0,0x14(%ecx)
a592a2:	c2 04 00             	ret    $0x4
a592a5:	cc                   	int3
a592a6:	cc                   	int3
a592a7:	cc                   	int3
a592a8:	8b c1                	mov    %ecx,%eax
a592aa:	c2 04 00             	ret    $0x4
a592ad:	b0 01                	mov    $0x1,%al
a592af:	c3                   	ret
a592b0:	55                   	push   %ebp
a592b1:	8b ec                	mov    %esp,%ebp
a592b3:	ff 75 0c             	push   0xc(%ebp)
a592b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
a592b9:	e8 b1 26 9b ff       	call   0x40b96f
a592be:	5d                   	pop    %ebp
a592bf:	c3                   	ret
a592c0:	cc                   	int3
a592c1:	cc                   	int3
a592c2:	cc                   	int3
a592c3:	cc                   	int3
a592c4:	b0 01                	mov    $0x1,%al
a592c6:	c3                   	ret
a592c7:	55                   	push   %ebp
a592c8:	8b ec                	mov    %esp,%ebp
a592ca:	ff 75 0c             	push   0xc(%ebp)
a592cd:	8b 4d 08             	mov    0x8(%ebp),%ecx
a592d0:	e8 eb cf 9b ff       	call   0x4162c0
a592d5:	5d                   	pop    %ebp
a592d6:	c3                   	ret
a592d7:	cc                   	int3
a592d8:	cc                   	int3
a592d9:	cc                   	int3
a592da:	cc                   	int3
a592db:	32 c0                	xor    %al,%al
a592dd:	c3                   	ret
a592de:	55                   	push   %ebp
a592df:	8b ec                	mov    %esp,%ebp
a592e1:	ff 75 0c             	push   0xc(%ebp)
a592e4:	8b 4d 08             	mov    0x8(%ebp),%ecx
a592e7:	e8 83 26 9b ff       	call   0x40b96f
a592ec:	33 c9                	xor    %ecx,%ecx
a592ee:	84 c0                	test   %al,%al
a592f0:	0f 94 c1             	sete   %cl
a592f3:	8a c1                	mov    %cl,%al
a592f5:	5d                   	pop    %ebp
a592f6:	c3                   	ret
a592f7:	cc                   	int3
a592f8:	cc                   	int3
a592f9:	cc                   	int3
a592fa:	cc                   	int3
a592fb:	cc                   	int3
a592fc:	cc                   	int3
a592fd:	32 c0                	xor    %al,%al
a592ff:	c3                   	ret
a59300:	55                   	push   %ebp
a59301:	8b ec                	mov    %esp,%ebp
a59303:	ff 75 0c             	push   0xc(%ebp)
a59306:	8b 4d 08             	mov    0x8(%ebp),%ecx
a59309:	e8 b2 cf 9b ff       	call   0x4162c0
a5930e:	33 c9                	xor    %ecx,%ecx
a59310:	84 c0                	test   %al,%al
a59312:	0f 94 c1             	sete   %cl
a59315:	8a c1                	mov    %cl,%al
a59317:	5d                   	pop    %ebp
a59318:	c3                   	ret
a59319:	cc                   	int3
a5931a:	cc                   	int3
a5931b:	cc                   	int3
a5931c:	cc                   	int3
a5931d:	cc                   	int3
a5931e:	cc                   	int3
a5931f:	55                   	push   %ebp
a59320:	8b ec                	mov    %esp,%ebp
a59322:	51                   	push   %ecx
a59323:	51                   	push   %ecx
a59324:	ff 75 18             	push   0x18(%ebp)
a59327:	8d 45 f8             	lea    -0x8(%ebp),%eax
a5932a:	ff 75 14             	push   0x14(%ebp)
a5932d:	ff 75 10             	push   0x10(%ebp)
a59330:	ff 75 0c             	push   0xc(%ebp)
a59333:	50                   	push   %eax
a59334:	e8 b3 d1 9a ff       	call   0x4064ec
a59339:	8b 55 08             	mov    0x8(%ebp),%edx
a5933c:	83 c4 14             	add    $0x14,%esp
a5933f:	8b 08                	mov    (%eax),%ecx
a59341:	89 0a                	mov    %ecx,(%edx)
a59343:	8b 48 04             	mov    0x4(%eax),%ecx
a59346:	8b c2                	mov    %edx,%eax
a59348:	89 4a 04             	mov    %ecx,0x4(%edx)
a5934b:	8b e5                	mov    %ebp,%esp
a5934d:	5d                   	pop    %ebp
a5934e:	c3                   	ret
a5934f:	cc                   	int3
a59350:	cc                   	int3
a59351:	cc                   	int3
a59352:	cc                   	int3
a59353:	cc                   	int3
a59354:	cc                   	int3
a59355:	cc                   	int3
a59356:	cc                   	int3
a59357:	cc                   	int3
a59358:	cc                   	int3
a59359:	cc                   	int3
a5935a:	cc                   	int3
a5935b:	55                   	push   %ebp
a5935c:	8b ec                	mov    %esp,%ebp
a5935e:	51                   	push   %ecx
a5935f:	51                   	push   %ecx
a59360:	ff 75 fc             	push   -0x4(%ebp)
a59363:	ff 75 18             	push   0x18(%ebp)
a59366:	ff 75 14             	push   0x14(%ebp)
a59369:	ff 75 10             	push   0x10(%ebp)
a5936c:	ff 75 0c             	push   0xc(%ebp)
a5936f:	ff 75 08             	push   0x8(%ebp)
a59372:	e8 1b 8b 9a ff       	call   0x401e92
a59377:	8b 45 08             	mov    0x8(%ebp),%eax
a5937a:	83 c4 1c             	add    $0x1c,%esp
a5937d:	8b e5                	mov    %ebp,%esp
a5937f:	5d                   	pop    %ebp
a59380:	c3                   	ret
a59381:	cc                   	int3
a59382:	cc                   	int3
a59383:	cc                   	int3
a59384:	cc                   	int3
a59385:	cc                   	int3
a59386:	cc                   	int3
a59387:	cc                   	int3
a59388:	cc                   	int3
a59389:	cc                   	int3
a5938a:	55                   	push   %ebp
a5938b:	8b ec                	mov    %esp,%ebp
a5938d:	8b 45 10             	mov    0x10(%ebp),%eax
a59390:	53                   	push   %ebx
a59391:	56                   	push   %esi
a59392:	8b 75 0c             	mov    0xc(%ebp),%esi
a59395:	33 db                	xor    %ebx,%ebx
a59397:	2b c6                	sub    %esi,%eax
a59399:	40                   	inc    %eax
a5939a:	d1 e8                	shr    $1,%eax
a5939c:	39 75 10             	cmp    %esi,0x10(%ebp)
a5939f:	57                   	push   %edi
a593a0:	1b ff                	sbb    %edi,%edi
a593a2:	f7 d7                	not    %edi
a593a4:	23 f8                	and    %eax,%edi
a593a6:	74 14                	je     0xa593bc
a593a8:	0f b7 06             	movzwl (%esi),%eax
a593ab:	8d 4d 14             	lea    0x14(%ebp),%ecx
a593ae:	50                   	push   %eax
a593af:	e8 3d 16 9c ff       	call   0x41a9f1
a593b4:	43                   	inc    %ebx
a593b5:	8d 76 02             	lea    0x2(%esi),%esi
a593b8:	3b df                	cmp    %edi,%ebx
a593ba:	75 ec                	jne    0xa593a8
a593bc:	8b 45 08             	mov    0x8(%ebp),%eax
a593bf:	8b 4d 14             	mov    0x14(%ebp),%ecx
a593c2:	5f                   	pop    %edi
a593c3:	5e                   	pop    %esi
a593c4:	89 08                	mov    %ecx,(%eax)
a593c6:	8b 4d 18             	mov    0x18(%ebp),%ecx
a593c9:	89 48 04             	mov    %ecx,0x4(%eax)
a593cc:	5b                   	pop    %ebx
a593cd:	5d                   	pop    %ebp
a593ce:	c3                   	ret
a593cf:	cc                   	int3
a593d0:	cc                   	int3
a593d1:	cc                   	int3
a593d2:	cc                   	int3
a593d3:	cc                   	int3
a593d4:	cc                   	int3
a593d5:	cc                   	int3
a593d6:	cc                   	int3
a593d7:	cc                   	int3
a593d8:	cc                   	int3
a593d9:	cc                   	int3
a593da:	cc                   	int3
a593db:	cc                   	int3
a593dc:	cc                   	int3
a593dd:	cc                   	int3
a593de:	cc                   	int3
a593df:	cc                   	int3
a593e0:	55                   	push   %ebp
a593e1:	8b ec                	mov    %esp,%ebp
a593e3:	51                   	push   %ecx
a593e4:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
a593e8:	ff 75 fc             	push   -0x4(%ebp)
a593eb:	ff 75 18             	push   0x18(%ebp)
a593ee:	ff 75 14             	push   0x14(%ebp)
a593f1:	ff 75 10             	push   0x10(%ebp)
a593f4:	ff 75 0c             	push   0xc(%ebp)
a593f7:	ff 75 08             	push   0x8(%ebp)
a593fa:	e8 7f 6f 9c ff       	call   0x42037e
a593ff:	8b 45 08             	mov    0x8(%ebp),%eax
a59402:	83 c4 18             	add    $0x18,%esp
a59405:	8b e5                	mov    %ebp,%esp
a59407:	5d                   	pop    %ebp
a59408:	c3                   	ret
a59409:	cc                   	int3
a5940a:	cc                   	int3
a5940b:	cc                   	int3
a5940c:	cc                   	int3
a5940d:	cc                   	int3
a5940e:	cc                   	int3
a5940f:	cc                   	int3
a59410:	cc                   	int3
a59411:	cc                   	int3
a59412:	cc                   	int3
a59413:	55                   	push   %ebp
a59414:	8b ec                	mov    %esp,%ebp
a59416:	8b 4d 08             	mov    0x8(%ebp),%ecx
a59419:	8b c1                	mov    %ecx,%eax
a5941b:	0f b7 11             	movzwl (%ecx),%edx
a5941e:	eb 0c                	jmp    0xa5942c
a59420:	66 3b 55 0c          	cmp    0xc(%ebp),%dx
a59424:	74 0b                	je     0xa59431
a59426:	83 c0 02             	add    $0x2,%eax
a59429:	0f b7 10             	movzwl (%eax),%edx
a5942c:	66 85 d2             	test   %dx,%dx
a5942f:	75 ef                	jne    0xa59420
a59431:	2b c1                	sub    %ecx,%eax
a59433:	d1 f8                	sar    $1,%eax
a59435:	5d                   	pop    %ebp
a59436:	c3                   	ret
a59437:	cc                   	int3
a59438:	cc                   	int3
a59439:	cc                   	int3
a5943a:	cc                   	int3
a5943b:	cc                   	int3
a5943c:	cc                   	int3
a5943d:	cc                   	int3
a5943e:	cc                   	int3
a5943f:	cc                   	int3
a59440:	55                   	push   %ebp
a59441:	8b ec                	mov    %esp,%ebp
a59443:	8b 4d 08             	mov    0x8(%ebp),%ecx
a59446:	8b c1                	mov    %ecx,%eax
a59448:	0f b7 11             	movzwl (%ecx),%edx
a5944b:	eb 0c                	jmp    0xa59459
a5944d:	66 3b 55 0c          	cmp    0xc(%ebp),%dx
a59451:	74 0b                	je     0xa5945e
a59453:	83 c0 02             	add    $0x2,%eax
a59456:	0f b7 10             	movzwl (%eax),%edx
a59459:	66 85 d2             	test   %dx,%dx
a5945c:	75 ef                	jne    0xa5944d
a5945e:	2b c1                	sub    %ecx,%eax
a59460:	d1 f8                	sar    $1,%eax
a59462:	5d                   	pop    %ebp
a59463:	c3                   	ret
a59464:	cc                   	int3
a59465:	cc                   	int3
a59466:	cc                   	int3
a59467:	cc                   	int3
a59468:	cc                   	int3
a59469:	cc                   	int3
a5946a:	cc                   	int3
a5946b:	cc                   	int3
a5946c:	cc                   	int3
a5946d:	6a 38                	push   $0x38
a5946f:	b8 dc ba bb 00       	mov    $0xbbbadc,%eax
a59474:	e8 ec 8b 9d ff       	call   0x432065
a59479:	8b 45 08             	mov    0x8(%ebp),%eax
a5947c:	8b 7d 14             	mov    0x14(%ebp),%edi
a5947f:	8b 75 10             	mov    0x10(%ebp),%esi
a59482:	89 45 c4             	mov    %eax,-0x3c(%ebp)
a59485:	8b 45 0c             	mov    0xc(%ebp),%eax
a59488:	89 45 bc             	mov    %eax,-0x44(%ebp)
a5948b:	8a 07                	mov    (%edi),%al
a5948d:	84 c0                	test   %al,%al
a5948f:	74 10                	je     0xa594a1
a59491:	8a c8                	mov    %al,%cl
a59493:	8b d7                	mov    %edi,%edx
a59495:	3a c8                	cmp    %al,%cl
a59497:	75 01                	jne    0xa5949a
a59499:	46                   	inc    %esi
a5949a:	42                   	inc    %edx
a5949b:	8a 0a                	mov    (%edx),%cl
a5949d:	84 c9                	test   %cl,%cl
a5949f:	75 f4                	jne    0xa59495
a594a1:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
a594a5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
a594a8:	6a 00                	push   $0x0
a594aa:	56                   	push   %esi
a594ab:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
a594b2:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
a594b6:	e8 68 c8 9d ff       	call   0x435d23
a594bb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a594bf:	33 d2                	xor    %edx,%edx
a594c1:	6a fe                	push   $0xfffffffe
a594c3:	58                   	pop    %eax
a594c4:	89 45 c0             	mov    %eax,-0x40(%ebp)
a594c7:	42                   	inc    %edx
a594c8:	8b 45 d8             	mov    -0x28(%ebp),%eax
a594cb:	89 55 cc             	mov    %edx,-0x34(%ebp)
a594ce:	89 45 d0             	mov    %eax,-0x30(%ebp)
a594d1:	32 e4                	xor    %ah,%ah
a594d3:	33 c9                	xor    %ecx,%ecx
a594d5:	33 db                	xor    %ebx,%ebx
a594d7:	88 65 d7             	mov    %ah,-0x29(%ebp)
a594da:	89 4d c8             	mov    %ecx,-0x38(%ebp)
a594dd:	85 f6                	test   %esi,%esi
a594df:	0f 84 0d 01 00 00    	je     0xa595f2
a594e5:	8a 04 3b             	mov    (%ebx,%edi,1),%al
a594e8:	84 c0                	test   %al,%al
a594ea:	74 11                	je     0xa594fd
a594ec:	8a 0f                	mov    (%edi),%cl
a594ee:	3a c1                	cmp    %cl,%al
a594f0:	74 08                	je     0xa594fa
a594f2:	43                   	inc    %ebx
a594f3:	8a 04 3b             	mov    (%ebx,%edi,1),%al
a594f6:	84 c0                	test   %al,%al
a594f8:	75 f4                	jne    0xa594ee
a594fa:	8b 4d c8             	mov    -0x38(%ebp),%ecx
a594fd:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
a59501:	8b 45 d0             	mov    -0x30(%ebp),%eax
a59504:	73 03                	jae    0xa59509
a59506:	8d 45 d8             	lea    -0x28(%ebp),%eax
a59509:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
a5950d:	74 17                	je     0xa59526
a5950f:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
a59513:	8b 45 d0             	mov    -0x30(%ebp),%eax
a59516:	73 03                	jae    0xa5951b
a59518:	8d 45 d8             	lea    -0x28(%ebp),%eax
a5951b:	0f be 04 08          	movsbl (%eax,%ecx,1),%eax
a5951f:	03 d8                	add    %eax,%ebx
a59521:	e9 92 00 00 00       	jmp    0xa595b8
a59526:	03 da                	add    %edx,%ebx
a59528:	8a 04 3b             	mov    (%ebx,%edi,1),%al
a5952b:	3a 07                	cmp    (%edi),%al
a5952d:	74 5f                	je     0xa5958e
a5952f:	84 c0                	test   %al,%al
a59531:	74 5b                	je     0xa5958e
a59533:	ff 75 bc             	push   -0x44(%ebp)
a59536:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
a59539:	e8 31 24 9b ff       	call   0x40b96f
a5953e:	84 c0                	test   %al,%al
a59540:	75 2c                	jne    0xa5956e
a59542:	8b 45 c4             	mov    -0x3c(%ebp),%eax
a59545:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
a59549:	75 0a                	jne    0xa59555
a5954b:	8b c8                	mov    %eax,%ecx
a5954d:	e8 81 79 9b ff       	call   0x410ed3
a59552:	8b 45 c4             	mov    -0x3c(%ebp),%eax
a59555:	0f b7 48 06          	movzwl 0x6(%eax),%ecx
a59559:	0f be 04 3b          	movsbl (%ebx,%edi,1),%eax
a5955d:	3b c1                	cmp    %ecx,%eax
a5955f:	75 0d                	jne    0xa5956e
a59561:	8b 4d c8             	mov    -0x38(%ebp),%ecx
a59564:	b4 01                	mov    $0x1,%ah
a59566:	8b 55 cc             	mov    -0x34(%ebp),%edx