59815d:	0f 1f 00             	nopl   (%eax)
598160:	56                   	push   %esi
598161:	ff 77 04             	push   0x4(%edi)
598164:	e8 c7 65 f1 ff       	call   0x4ae730
598169:	8b d8                	mov    %eax,%ebx
59816b:	55                   	push   %ebp
59816c:	ff 33                	push   (%ebx)
59816e:	e8 ed 96 f1 ff       	call   0x4b1860
598173:	83 c4 10             	add    $0x10,%esp
598176:	85 c0                	test   %eax,%eax
598178:	74 17                	je     0x598191
59817a:	ff 77 04             	push   0x4(%edi)
59817d:	46                   	inc    %esi
59817e:	e8 8d 64 f1 ff       	call   0x4ae610
598183:	83 c4 04             	add    $0x4,%esp
598186:	3b f0                	cmp    %eax,%esi
598188:	7c d6                	jl     0x598160
59818a:	5f                   	pop    %edi
59818b:	5e                   	pop    %esi
59818c:	5d                   	pop    %ebp
59818d:	33 c0                	xor    %eax,%eax
59818f:	5b                   	pop    %ebx
598190:	c3                   	ret
598191:	8b 43 04             	mov    0x4(%ebx),%eax
598194:	5f                   	pop    %edi
598195:	5e                   	pop    %esi
598196:	5d                   	pop    %ebp
598197:	5b                   	pop    %ebx
598198:	c3                   	ret
598199:	cc                   	int3
59819a:	cc                   	int3
59819b:	cc                   	int3
59819c:	cc                   	int3
59819d:	cc                   	int3
59819e:	cc                   	int3
59819f:	cc                   	int3
5981a0:	56                   	push   %esi
5981a1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5981a5:	85 f6                	test   %esi,%esi
5981a7:	74 54                	je     0x5981fd
5981a9:	8b 06                	mov    (%esi),%eax
5981ab:	85 c0                	test   %eax,%eax
5981ad:	74 4e                	je     0x5981fd
5981af:	57                   	push   %edi
5981b0:	6a 57                	push   $0x57
5981b2:	40                   	inc    %eax
5981b3:	68 00 93 6c 00       	push   $0x6c9300
5981b8:	50                   	push   %eax
5981b9:	e8 f2 7f f0 ff       	call   0x4a01b0
5981be:	8b f8                	mov    %eax,%edi
5981c0:	83 c4 0c             	add    $0xc,%esp
5981c3:	85 ff                	test   %edi,%edi
5981c5:	75 1d                	jne    0x5981e4
5981c7:	6a 58                	push   $0x58
5981c9:	68 00 93 6c 00       	push   $0x6c9300
5981ce:	6a 41                	push   $0x41
5981d0:	68 95 00 00 00       	push   $0x95
5981d5:	6a 22                	push   $0x22
5981d7:	e8 c4 92 f0 ff       	call   0x4a14a0
5981dc:	83 c4 14             	add    $0x14,%esp
5981df:	33 c0                	xor    %eax,%eax
5981e1:	5f                   	pop    %edi
5981e2:	5e                   	pop    %esi
5981e3:	c3                   	ret
5981e4:	ff 36                	push   (%esi)
5981e6:	ff 76 08             	push   0x8(%esi)
5981e9:	57                   	push   %edi
5981ea:	e8 11 ad 04 00       	call   0x5e2f00
5981ef:	8b 06                	mov    (%esi),%eax
5981f1:	83 c4 0c             	add    $0xc,%esp
5981f4:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
5981f8:	8b c7                	mov    %edi,%eax
5981fa:	5f                   	pop    %edi
5981fb:	5e                   	pop    %esi
5981fc:	c3                   	ret
5981fd:	33 c0                	xor    %eax,%eax
5981ff:	5e                   	pop    %esi
598200:	c3                   	ret
598201:	cc                   	int3
598202:	cc                   	int3
598203:	cc                   	int3
598204:	cc                   	int3
598205:	cc                   	int3
598206:	cc                   	int3
598207:	cc                   	int3
598208:	cc                   	int3
598209:	cc                   	int3
59820a:	cc                   	int3
59820b:	cc                   	int3
59820c:	cc                   	int3
59820d:	cc                   	int3
59820e:	cc                   	int3
59820f:	cc                   	int3
598210:	57                   	push   %edi
598211:	8b 7c 24 10          	mov    0x10(%esp),%edi
598215:	85 ff                	test   %edi,%edi
598217:	75 19                	jne    0x598232
598219:	6a 66                	push   $0x66
59821b:	68 00 93 6c 00       	push   $0x6c9300
598220:	6a 6b                	push   $0x6b
598222:	6a 64                	push   $0x64
598224:	6a 22                	push   $0x22
598226:	e8 75 92 f0 ff       	call   0x4a14a0
59822b:	83 c4 14             	add    $0x14,%esp
59822e:	33 c0                	xor    %eax,%eax
598230:	5f                   	pop    %edi
598231:	c3                   	ret
598232:	56                   	push   %esi
598233:	6a 16                	push   $0x16
598235:	e8 c6 98 f1 ff       	call   0x4b1b00
59823a:	8b f0                	mov    %eax,%esi
59823c:	83 c4 04             	add    $0x4,%esp
59823f:	85 f6                	test   %esi,%esi
598241:	74 26                	je     0x598269
598243:	8b cf                	mov    %edi,%ecx
598245:	8d 51 01             	lea    0x1(%ecx),%edx
598248:	8a 01                	mov    (%ecx),%al
59824a:	41                   	inc    %ecx
59824b:	84 c0                	test   %al,%al
59824d:	75 f9                	jne    0x598248
59824f:	2b ca                	sub    %edx,%ecx
598251:	51                   	push   %ecx
598252:	57                   	push   %edi
598253:	56                   	push   %esi
598254:	e8 b7 97 f1 ff       	call   0x4b1a10
598259:	83 c4 0c             	add    $0xc,%esp
59825c:	85 c0                	test   %eax,%eax
59825e:	75 23                	jne    0x598283
598260:	56                   	push   %esi
598261:	e8 1a 97 f1 ff       	call   0x4b1980
598266:	83 c4 04             	add    $0x4,%esp
598269:	6a 75                	push   $0x75
59826b:	68 00 93 6c 00       	push   $0x6c9300
598270:	6a 41                	push   $0x41
598272:	6a 64                	push   $0x64
598274:	6a 22                	push   $0x22
598276:	e8 25 92 f0 ff       	call   0x4a14a0
59827b:	83 c4 14             	add    $0x14,%esp
59827e:	33 c0                	xor    %eax,%eax
598280:	5e                   	pop    %esi
598281:	5f                   	pop    %edi
598282:	c3                   	ret
598283:	8b c6                	mov    %esi,%eax
598285:	5e                   	pop    %esi
598286:	5f                   	pop    %edi
598287:	c3                   	ret
598288:	cc                   	int3
598289:	cc                   	int3
59828a:	cc                   	int3
59828b:	cc                   	int3
59828c:	cc                   	int3
59828d:	cc                   	int3
59828e:	cc                   	int3
59828f:	cc                   	int3
598290:	b8 48 00 00 00       	mov    $0x48,%eax
598295:	e8 56 92 04 00       	call   0x5e14f0
59829a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
59829f:	33 c4                	xor    %esp,%eax
5982a1:	89 44 24 44          	mov    %eax,0x44(%esp)
5982a5:	56                   	push   %esi
5982a6:	8b 74 24 58          	mov    0x58(%esp),%esi
5982aa:	b9 70 93 6c 00       	mov    $0x6c9370,%ecx
5982af:	57                   	push   %edi
5982b0:	8b 7c 24 58          	mov    0x58(%esp),%edi
5982b4:	8b c6                	mov    %esi,%eax
5982b6:	8a 10                	mov    (%eax),%dl
5982b8:	3a 11                	cmp    (%ecx),%dl
5982ba:	75 1a                	jne    0x5982d6
5982bc:	84 d2                	test   %dl,%dl
5982be:	74 12                	je     0x5982d2
5982c0:	8a 50 01             	mov    0x1(%eax),%dl
5982c3:	3a 51 01             	cmp    0x1(%ecx),%dl
5982c6:	75 0e                	jne    0x5982d6
5982c8:	83 c0 02             	add    $0x2,%eax
5982cb:	83 c1 02             	add    $0x2,%ecx
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