5982ce:	84 d2                	test   %dl,%dl
5982d0:	75 e4                	jne    0x5982b6
5982d2:	33 c0                	xor    %eax,%eax
5982d4:	eb 05                	jmp    0x5982db
5982d6:	1b c0                	sbb    %eax,%eax
5982d8:	83 c8 01             	or     $0x1,%eax
5982db:	85 c0                	test   %eax,%eax
5982dd:	74 1f                	je     0x5982fe
5982df:	56                   	push   %esi
5982e0:	57                   	push   %edi
5982e1:	ff 74 24 5c          	push   0x5c(%esp)
5982e5:	e8 36 01 00 00       	call   0x598420
5982ea:	83 c4 0c             	add    $0xc,%esp
5982ed:	5f                   	pop    %edi
5982ee:	5e                   	pop    %esi
5982ef:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5982f3:	33 cc                	xor    %esp,%ecx
5982f5:	e8 e0 91 04 00       	call   0x5e14da
5982fa:	83 c4 48             	add    $0x48,%esp
5982fd:	c3                   	ret
5982fe:	6a 04                	push   $0x4
598300:	e8 fb 97 f1 ff       	call   0x4b1b00
598305:	8b f0                	mov    %eax,%esi
598307:	83 c4 04             	add    $0x4,%esp
59830a:	85 f6                	test   %esi,%esi
59830c:	75 28                	jne    0x598336
59830e:	6a 72                	push   $0x72
598310:	68 54 93 6c 00       	push   $0x6c9354
598315:	6a 41                	push   $0x41
598317:	6a 73                	push   $0x73
598319:	6a 22                	push   $0x22
59831b:	e8 80 91 f0 ff       	call   0x4a14a0
598320:	83 c4 14             	add    $0x14,%esp
598323:	33 c0                	xor    %eax,%eax
598325:	5f                   	pop    %edi
598326:	5e                   	pop    %esi
598327:	8b 4c 24 44          	mov    0x44(%esp),%ecx
59832b:	33 cc                	xor    %esp,%ecx
59832d:	e8 a8 91 04 00       	call   0x5e14da
598332:	83 c4 48             	add    $0x48,%esp
598335:	c3                   	ret
598336:	85 ff                	test   %edi,%edi
598338:	0f 84 90 00 00 00    	je     0x5983ce
59833e:	83 3f 01             	cmpl   $0x1,(%edi)
598341:	0f 84 a7 00 00 00    	je     0x5983ee
598347:	8b 47 0c             	mov    0xc(%edi),%eax
59834a:	85 c0                	test   %eax,%eax
59834c:	75 09                	jne    0x598357
59834e:	39 47 08             	cmp    %eax,0x8(%edi)
598351:	74 7b                	je     0x5983ce
598353:	85 c0                	test   %eax,%eax
598355:	74 07                	je     0x59835e
598357:	8b 00                	mov    (%eax),%eax
598359:	8b 40 14             	mov    0x14(%eax),%eax
59835c:	eb 08                	jmp    0x598366
59835e:	8b 47 08             	mov    0x8(%edi),%eax
598361:	8b 00                	mov    (%eax),%eax
598363:	8b 40 18             	mov    0x18(%eax),%eax
598366:	8b 78 04             	mov    0x4(%eax),%edi
598369:	85 ff                	test   %edi,%edi
59836b:	75 07                	jne    0x598374
59836d:	68 84 00 00 00       	push   $0x84
598372:	eb 5c                	jmp    0x5983d0
598374:	6a 00                	push   $0x0
598376:	e8 65 94 f1 ff       	call   0x4b17e0
59837b:	50                   	push   %eax
59837c:	8d 44 24 10          	lea    0x10(%esp),%eax
598380:	50                   	push   %eax
598381:	8d 44 24 18          	lea    0x18(%esp),%eax
598385:	50                   	push   %eax
598386:	ff 37                	push   (%edi)
598388:	ff 77 08             	push   0x8(%edi)
59838b:	e8 c0 8d f1 ff       	call   0x4b1150
598390:	83 c4 18             	add    $0x18,%esp
598393:	85 c0                	test   %eax,%eax
598395:	74 4c                	je     0x5983e3
598397:	ff 74 24 08          	push   0x8(%esp)
59839b:	8d 44 24 10          	lea    0x10(%esp),%eax
59839f:	50                   	push   %eax
5983a0:	56                   	push   %esi
5983a1:	e8 6a 96 f1 ff       	call   0x4b1a10
5983a6:	83 c4 0c             	add    $0xc,%esp
5983a9:	85 c0                	test   %eax,%eax
5983ab:	75 0e                	jne    0x5983bb
5983ad:	68 8d 00 00 00       	push   $0x8d
5983b2:	68 54 93 6c 00       	push   $0x6c9354
5983b7:	6a 41                	push   $0x41
5983b9:	eb 1c                	jmp    0x5983d7
5983bb:	5f                   	pop    %edi
5983bc:	8b c6                	mov    %esi,%eax
5983be:	5e                   	pop    %esi
5983bf:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5983c3:	33 cc                	xor    %esp,%ecx
5983c5:	e8 10 91 04 00       	call   0x5e14da
5983ca:	83 c4 48             	add    $0x48,%esp
5983cd:	c3                   	ret
5983ce:	6a 7a                	push   $0x7a
5983d0:	68 54 93 6c 00       	push   $0x6c9354
5983d5:	6a 72                	push   $0x72
5983d7:	6a 73                	push   $0x73
5983d9:	6a 22                	push   $0x22
5983db:	e8 c0 90 f0 ff       	call   0x4a14a0
5983e0:	83 c4 14             	add    $0x14,%esp
5983e3:	56                   	push   %esi
5983e4:	e8 97 95 f1 ff       	call   0x4b1980
5983e9:	83 c4 04             	add    $0x4,%esp
5983ec:	33 c0                	xor    %eax,%eax
5983ee:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
5983f2:	5f                   	pop    %edi
5983f3:	5e                   	pop    %esi
5983f4:	33 cc                	xor    %esp,%ecx
5983f6:	e8 df 90 04 00       	call   0x5e14da
5983fb:	83 c4 48             	add    $0x48,%esp
5983fe:	c3                   	ret
5983ff:	cc                   	int3
598400:	8b 44 24 08          	mov    0x8(%esp),%eax
598404:	ff 30                	push   (%eax)
598406:	ff 70 08             	push   0x8(%eax)
598409:	e8 82 05 fe ff       	call   0x578990
59840e:	83 c4 08             	add    $0x8,%esp
598411:	c3                   	ret
598412:	cc                   	int3
598413:	cc                   	int3
598414:	cc                   	int3
598415:	cc                   	int3
598416:	cc                   	int3
598417:	cc                   	int3
598418:	cc                   	int3
598419:	cc                   	int3
59841a:	cc                   	int3
59841b:	cc                   	int3
59841c:	cc                   	int3
59841d:	cc                   	int3
59841e:	cc                   	int3
59841f:	cc                   	int3
598420:	b8 04 00 00 00       	mov    $0x4,%eax
598425:	e8 c6 90 04 00       	call   0x5e14f0
59842a:	56                   	push   %esi
59842b:	6a 04                	push   $0x4
59842d:	e8 ce 96 f1 ff       	call   0x4b1b00
598432:	8b f0                	mov    %eax,%esi
598434:	83 c4 04             	add    $0x4,%esp
598437:	85 f6                	test   %esi,%esi
598439:	75 1a                	jne    0x598455
59843b:	6a 57                	push   $0x57
59843d:	68 54 93 6c 00       	push   $0x6c9354
598442:	6a 41                	push   $0x41
598444:	6a 70                	push   $0x70
598446:	6a 22                	push   $0x22
598448:	e8 53 90 f0 ff       	call   0x4a14a0
59844d:	83 c4 14             	add    $0x14,%esp
598450:	33 c0                	xor    %eax,%eax
598452:	5e                   	pop    %esi
598453:	59                   	pop    %ecx
598454:	c3                   	ret
598455:	8d 44 24 04          	lea    0x4(%esp),%eax
598459:	50                   	push   %eax
59845a:	ff 74 24 18          	push   0x18(%esp)
59845e:	e8 ed 0a fe ff       	call   0x578f50
598463:	83 c4 08             	add    $0x8,%esp
598466:	89 46 08             	mov    %eax,0x8(%esi)
598469:	85 c0                	test   %eax,%eax
59846b:	75 0e                	jne    0x59847b
59846d:	56                   	push   %esi
59846e:	e8 0d 95 f1 ff       	call   0x4b1980
598473:	83 c4 04             	add    $0x4,%esp
598476:	33 c0                	xor    %eax,%eax
598478:	5e                   	pop    %esi
598479:	59                   	pop    %ecx
59847a:	c3                   	ret
59847b:	8b 44 24 04          	mov    0x4(%esp),%eax
59847f:	89 06                	mov    %eax,(%esi)
598481:	8b c6                	mov    %esi,%eax
598483:	5e                   	pop    %esi
598484:	59                   	pop    %ecx
598485:	c3                   	ret
598486:	cc                   	int3
598487:	cc                   	int3
598488:	cc                   	int3
598489:	cc                   	int3
59848a:	cc                   	int3
59848b:	cc                   	int3
59848c:	cc                   	int3
59848d:	cc                   	int3
59848e:	cc                   	int3
59848f:	cc                   	int3
598490:	56                   	push   %esi
598491:	57                   	push   %edi
598492:	8b 7c 24 10          	mov    0x10(%esp),%edi
598496:	8b 07                	mov    (%edi),%eax
598498:	85 c0                	test   %eax,%eax
59849a:	74 25                	je     0x5984c1
59849c:	ff 30                	push   (%eax)
59849e:	ff 70 08             	push   0x8(%eax)
5984a1:	e8 ea 04 fe ff       	call   0x578990
5984a6:	8b f0                	mov    %eax,%esi
5984a8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5984ac:	50                   	push   %eax
5984ad:	56                   	push   %esi
5984ae:	68 b0 93 6c 00       	push   $0x6c93b0
5984b3:	e8 18 fc fd ff       	call   0x5780d0
5984b8:	56                   	push   %esi
5984b9:	e8 72 7c f0 ff       	call   0x4a0130
5984be:	83 c4 18             	add    $0x18,%esp
5984c1:	8b 47 04             	mov    0x4(%edi),%eax
5984c4:	85 c0                	test   %eax,%eax
5984c6:	74 15                	je     0x5984dd
5984c8:	ff 74 24 14          	push   0x14(%esp)
5984cc:	50                   	push   %eax
5984cd:	6a 00                	push   $0x0
5984cf:	e8 2c e5 ff ff       	call   0x596a00
5984d4:	83 c4 0c             	add    $0xc,%esp
5984d7:	89 44 24 14          	mov    %eax,0x14(%esp)
5984db:	eb 04                	jmp    0x5984e1
5984dd:	8b 44 24 14          	mov    0x14(%esp),%eax
5984e1:	8b 4f 08             	mov    0x8(%edi),%ecx
5984e4:	85 c9                	test   %ecx,%ecx
5984e6:	74 29                	je     0x598511
5984e8:	ff 31                	push   (%ecx)
5984ea:	ff 71 08             	push   0x8(%ecx)
5984ed:	e8 9e 04 fe ff       	call   0x578990
5984f2:	8b f0                	mov    %eax,%esi
5984f4:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5984f8:	50                   	push   %eax
5984f9:	56                   	push   %esi
5984fa:	68 40 7a 6c 00       	push   $0x6c7a40
5984ff:	e8 cc fb fd ff       	call   0x5780d0
598504:	56                   	push   %esi
598505:	e8 26 7c f0 ff       	call   0x4a0130
59850a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
59850e:	83 c4 18             	add    $0x18,%esp
598511:	5f                   	pop    %edi
598512:	5e                   	pop    %esi
598513:	c3                   	ret
598514:	cc                   	int3
598515:	cc                   	int3
598516:	cc                   	int3
598517:	cc                   	int3
598518:	cc                   	int3
598519:	cc                   	int3
59851a:	cc                   	int3
59851b:	cc                   	int3
59851c:	cc                   	int3
59851d:	cc                   	int3
59851e:	cc                   	int3
59851f:	cc                   	int3
598520:	b8 14 00 00 00       	mov    $0x14,%eax
598525:	e8 c6 8f 04 00       	call   0x5e14f0
59852a:	53                   	push   %ebx
59852b:	55                   	push   %ebp
59852c:	8b 6c 24 28          	mov    0x28(%esp),%ebp
598530:	32 db                	xor    %bl,%bl
598532:	56                   	push   %esi
598533:	57                   	push   %edi
598534:	55                   	push   %ebp
598535:	c6 44 24 17 00       	movb   $0x0,0x17(%esp)
59853a:	33 ff                	xor    %edi,%edi
59853c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
598540:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
598547:	00
598548:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
59854f:	00
598550:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
598557:	00
598558:	e8 b3 60 f1 ff       	call   0x4ae610
59855d:	83 c4 04             	add    $0x4,%esp
598560:	85 c0                	test   %eax,%eax
598562:	0f 8e 26 01 00 00    	jle    0x59868e
598568:	57                   	push   %edi
598569:	55                   	push   %ebp
59856a:	e8 c1 61 f1 ff       	call   0x4ae730
59856f:	8b f0                	mov    %eax,%esi
598571:	83 c4 08             	add    $0x8,%esp
598574:	b9 b0 93 6c 00       	mov    $0x6c93b0,%ecx
598579:	8b 56 04             	mov    0x4(%esi),%edx
59857c:	8b c2                	mov    %edx,%eax
59857e:	66 90                	xchg   %ax,%ax
598580:	8a 18                	mov    (%eax),%bl
598582:	3a 19                	cmp    (%ecx),%bl
598584:	75 1a                	jne    0x5985a0
598586:	84 db                	test   %bl,%bl
598588:	74 12                	je     0x59859c
59858a:	8a 58 01             	mov    0x1(%eax),%bl
59858d:	3a 59 01             	cmp    0x1(%ecx),%bl
598590:	75 0e                	jne    0x5985a0
598592:	83 c0 02             	add    $0x2,%eax
598595:	83 c1 02             	add    $0x2,%ecx
598598:	84 db                	test   %bl,%bl
59859a:	75 e4                	jne    0x598580
59859c:	33 c0                	xor    %eax,%eax
59859e:	eb 05                	jmp    0x5985a5
5985a0:	1b c0                	sbb    %eax,%eax
5985a2:	83 c8 01             	or     $0x1,%eax
5985a5:	85 c0                	test   %eax,%eax
5985a7:	75 52                	jne    0x5985fb
5985a9:	8b 46 08             	mov    0x8(%esi),%eax
5985ac:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
5985b1:	85 c0                	test   %eax,%eax
5985b3:	0f 84 bf 00 00 00    	je     0x598678
5985b9:	b9 b8 93 6c 00       	mov    $0x6c93b8,%ecx
5985be:	66 90                	xchg   %ax,%ax
5985c0:	8a 10                	mov    (%eax),%dl
5985c2:	3a 11                	cmp    (%ecx),%dl
5985c4:	75 1a                	jne    0x5985e0
5985c6:	84 d2                	test   %dl,%dl
5985c8:	74 12                	je     0x5985dc
5985ca:	8a 50 01             	mov    0x1(%eax),%dl
5985cd:	3a 51 01             	cmp    0x1(%ecx),%dl
5985d0:	75 0e                	jne    0x5985e0
5985d2:	83 c0 02             	add    $0x2,%eax
5985d5:	83 c1 02             	add    $0x2,%ecx
5985d8:	84 d2                	test   %dl,%dl
5985da:	75 e4                	jne    0x5985c0
5985dc:	33 c0                	xor    %eax,%eax
5985de:	eb 05                	jmp    0x5985e5
5985e0:	1b c0                	sbb    %eax,%eax
5985e2:	83 c8 01             	or     $0x1,%eax
5985e5:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5985e9:	85 c0                	test   %eax,%eax
5985eb:	0f 85 8b 00 00 00    	jne    0x59867c
5985f1:	c6 44 24 13 02       	movb   $0x2,0x13(%esp)
5985f6:	e9 81 00 00 00       	jmp    0x59867c
5985fb:	b8 38 55 6c 00       	mov    $0x6c5538,%eax
598600:	8a 0a                	mov    (%edx),%cl
598602:	3a 08                	cmp    (%eax),%cl
598604:	75 1a                	jne    0x598620
598606:	84 c9                	test   %cl,%cl
598608:	74 12                	je     0x59861c
59860a:	8a 4a 01             	mov    0x1(%edx),%cl
59860d:	3a 48 01             	cmp    0x1(%eax),%cl
598610:	75 0e                	jne    0x598620
598612:	83 c2 02             	add    $0x2,%edx
598615:	83 c0 02             	add    $0x2,%eax
598618:	84 c9                	test   %cl,%cl
59861a:	75 e4                	jne    0x598600
59861c:	33 c0                	xor    %eax,%eax
59861e:	eb 05                	jmp    0x598625
598620:	1b c0                	sbb    %eax,%eax
598622:	83 c8 01             	or     $0x1,%eax
598625:	85 c0                	test   %eax,%eax
598627:	0f 85 b1 00 00 00    	jne    0x5986de
59862d:	8b 46 08             	mov    0x8(%esi),%eax
598630:	b3 01                	mov    $0x1,%bl
598632:	89 5c 24 14          	mov    %ebx,0x14(%esp)
598636:	85 c0                	test   %eax,%eax
598638:	74 42                	je     0x59867c
59863a:	b9 b8 93 6c 00       	mov    $0x6c93b8,%ecx
59863f:	90                   	nop
598640:	8a 10                	mov    (%eax),%dl
598642:	3a 11                	cmp    (%ecx),%dl