5971f7:	85 f6                	test   %esi,%esi
5971f9:	0f 84 c4 00 00 00    	je     0x5972c3
5971ff:	83 3e 01             	cmpl   $0x1,(%esi)
597202:	74 7a                	je     0x59727e
597204:	8b 46 04             	mov    0x4(%esi),%eax
597207:	85 c0                	test   %eax,%eax
597209:	0f 84 b4 00 00 00    	je     0x5972c3
59720f:	6a ff                	push   $0xffffffff
597211:	6a 55                	push   $0x55
597213:	50                   	push   %eax
597214:	e8 17 6b ff ff       	call   0x58dd30
597219:	83 c4 0c             	add    $0xc,%esp
59721c:	85 c0                	test   %eax,%eax
59721e:	78 5e                	js     0x59727e
597220:	50                   	push   %eax
597221:	ff 76 04             	push   0x4(%esi)
597224:	e8 e7 6a ff ff       	call   0x58dd10
597229:	83 c4 08             	add    $0x8,%esp
59722c:	85 c0                	test   %eax,%eax
59722e:	74 75                	je     0x5972a5
597230:	50                   	push   %eax
597231:	e8 da 6f ff ff       	call   0x58e210
597236:	8b f8                	mov    %eax,%edi
597238:	83 c4 04             	add    $0x4,%esp
59723b:	85 ff                	test   %edi,%edi
59723d:	74 66                	je     0x5972a5
59723f:	57                   	push   %edi
597240:	33 f6                	xor    %esi,%esi
597242:	e8 c9 73 f1 ff       	call   0x4ae610
597247:	83 c4 04             	add    $0x4,%esp
59724a:	85 c0                	test   %eax,%eax
59724c:	7e 27                	jle    0x597275
59724e:	8b 5c 24 14          	mov    0x14(%esp),%ebx
597252:	56                   	push   %esi
597253:	57                   	push   %edi
597254:	e8 d7 74 f1 ff       	call   0x4ae730
597259:	50                   	push   %eax
59725a:	53                   	push   %ebx
59725b:	e8 30 74 f1 ff       	call   0x4ae690
597260:	83 c4 10             	add    $0x10,%esp
597263:	85 c0                	test   %eax,%eax
597265:	74 20                	je     0x597287
597267:	57                   	push   %edi
597268:	46                   	inc    %esi
597269:	e8 a2 73 f1 ff       	call   0x4ae610
59726e:	83 c4 04             	add    $0x4,%esp
597271:	3b f0                	cmp    %eax,%esi
597273:	7c dd                	jl     0x597252
597275:	57                   	push   %edi
597276:	e8 f5 71 f1 ff       	call   0x4ae470
59727b:	83 c4 04             	add    $0x4,%esp
59727e:	5f                   	pop    %edi
59727f:	5e                   	pop    %esi
597280:	b8 01 00 00 00       	mov    $0x1,%eax
597285:	5b                   	pop    %ebx
597286:	c3                   	ret
597287:	68 31 01 00 00       	push   $0x131
59728c:	68 24 8b 6c 00       	push   $0x6c8b24
597291:	6a 41                	push   $0x41
597293:	6a 7b                	push   $0x7b
597295:	6a 22                	push   $0x22
597297:	e8 04 a2 f0 ff       	call   0x4a14a0
59729c:	83 c4 14             	add    $0x14,%esp
59729f:	5f                   	pop    %edi
5972a0:	5e                   	pop    %esi
5972a1:	33 c0                	xor    %eax,%eax
5972a3:	5b                   	pop    %ebx
5972a4:	c3                   	ret
5972a5:	68 2a 01 00 00       	push   $0x12a
5972aa:	68 24 8b 6c 00       	push   $0x6c8b24
5972af:	6a 7e                	push   $0x7e
5972b1:	6a 7b                	push   $0x7b
5972b3:	6a 22                	push   $0x22
5972b5:	e8 e6 a1 f0 ff       	call   0x4a14a0
5972ba:	83 c4 14             	add    $0x14,%esp
5972bd:	5f                   	pop    %edi
5972be:	5e                   	pop    %esi
5972bf:	33 c0                	xor    %eax,%eax
5972c1:	5b                   	pop    %ebx
5972c2:	c3                   	ret
5972c3:	68 22 01 00 00       	push   $0x122
5972c8:	68 24 8b 6c 00       	push   $0x6c8b24
5972cd:	6a 7f                	push   $0x7f
5972cf:	6a 7b                	push   $0x7b
5972d1:	6a 22                	push   $0x22
5972d3:	e8 c8 a1 f0 ff       	call   0x4a14a0
5972d8:	83 c4 14             	add    $0x14,%esp
5972db:	5f                   	pop    %edi
5972dc:	5e                   	pop    %esi
5972dd:	33 c0                	xor    %eax,%eax
5972df:	5b                   	pop    %ebx
5972e0:	c3                   	ret
5972e1:	cc                   	int3
5972e2:	cc                   	int3
5972e3:	cc                   	int3
5972e4:	cc                   	int3
5972e5:	cc                   	int3
5972e6:	cc                   	int3
5972e7:	cc                   	int3
5972e8:	cc                   	int3
5972e9:	cc                   	int3
5972ea:	cc                   	int3
5972eb:	cc                   	int3
5972ec:	cc                   	int3
5972ed:	cc                   	int3
5972ee:	cc                   	int3
5972ef:	cc                   	int3
5972f0:	53                   	push   %ebx
5972f1:	56                   	push   %esi
5972f2:	57                   	push   %edi
5972f3:	33 db                	xor    %ebx,%ebx
5972f5:	33 ff                	xor    %edi,%edi
5972f7:	e8 54 ae ff ff       	call   0x592150
5972fc:	8b f0                	mov    %eax,%esi
5972fe:	85 f6                	test   %esi,%esi
597300:	74 44                	je     0x597346
597302:	ff 74 24 14          	push   0x14(%esp)
597306:	ff 74 24 1c          	push   0x1c(%esp)
59730a:	e8 b1 49 00 00       	call   0x59bcc0
59730f:	8b f8                	mov    %eax,%edi
597311:	83 c4 08             	add    $0x8,%esp
597314:	85 ff                	test   %edi,%edi
597316:	75 4a                	jne    0x597362
597318:	68 5e 02 00 00       	push   $0x25e
59731d:	68 24 8b 6c 00       	push   $0x6c8b24
597322:	68 96 00 00 00       	push   $0x96
597327:	68 90 00 00 00       	push   $0x90
59732c:	6a 22                	push   $0x22
59732e:	e8 6d a1 f0 ff       	call   0x4a14a0
597333:	ff 74 24 28          	push   0x28(%esp)
597337:	68 6c 8b 6c 00       	push   $0x6c8b6c
59733c:	6a 02                	push   $0x2
59733e:	e8 7d 9c f0 ff       	call   0x4a0fc0
597343:	83 c4 20             	add    $0x20,%esp
597346:	56                   	push   %esi
597347:	e8 d4 ad ff ff       	call   0x592120
59734c:	83 c4 04             	add    $0x4,%esp
59734f:	57                   	push   %edi
597350:	ff 74 24 1c          	push   0x1c(%esp)
597354:	e8 a7 49 00 00       	call   0x59bd00
597359:	83 c4 08             	add    $0x8,%esp
59735c:	8b c3                	mov    %ebx,%eax
59735e:	5f                   	pop    %edi
59735f:	5e                   	pop    %esi
597360:	5b                   	pop    %ebx
597361:	c3                   	ret
597362:	68 01 10 00 00       	push   $0x1001
597367:	57                   	push   %edi
597368:	56                   	push   %esi
597369:	e8 b2 0c fe ff       	call   0x578020
59736e:	8b d8                	mov    %eax,%ebx
597370:	83 c4 0c             	add    $0xc,%esp
597373:	85 db                	test   %ebx,%ebx
597375:	74 cf                	je     0x597346
597377:	8b 4c 24 10          	mov    0x10(%esp),%ecx
59737b:	89 71 04             	mov    %esi,0x4(%ecx)
59737e:	57                   	push   %edi
59737f:	ff 74 24 1c          	push   0x1c(%esp)
597383:	e8 78 49 00 00       	call   0x59bd00
597388:	83 c4 08             	add    $0x8,%esp
59738b:	8b c3                	mov    %ebx,%eax
59738d:	5f                   	pop    %edi
59738e:	5e                   	pop    %esi
59738f:	5b                   	pop    %ebx
597390:	c3                   	ret
597391:	cc                   	int3
597392:	cc                   	int3
597393:	cc                   	int3
597394:	cc                   	int3
597395:	cc                   	int3
597396:	cc                   	int3
597397:	cc                   	int3
597398:	cc                   	int3
597399:	cc                   	int3
59739a:	cc                   	int3
59739b:	cc                   	int3
59739c:	cc                   	int3
59739d:	cc                   	int3
59739e:	cc                   	int3
59739f:	cc                   	int3
5973a0:	53                   	push   %ebx
5973a1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
5973a5:	56                   	push   %esi
5973a6:	6a 3b                	push   $0x3b
5973a8:	53                   	push   %ebx
5973a9:	e8 b2 cc 04 00       	call   0x5e4060
5973ae:	8b f0                	mov    %eax,%esi
5973b0:	83 c4 08             	add    $0x8,%esp
5973b3:	85 f6                	test   %esi,%esi
5973b5:	75 03                	jne    0x5973ba
5973b7:	5e                   	pop    %esi
5973b8:	5b                   	pop    %ebx
5973b9:	c3                   	ret
5973ba:	55                   	push   %ebp
5973bb:	e8 70 6a ff ff       	call   0x58de30
5973c0:	8b 6c 24 10          	mov    0x10(%esp),%ebp
5973c4:	89 45 04             	mov    %eax,0x4(%ebp)
5973c7:	85 c0                	test   %eax,%eax
5973c9:	74 22                	je     0x5973ed
5973cb:	ff 70 04             	push   0x4(%eax)
5973ce:	e8 ed c8 f1 ff       	call   0x4b3cc0
5973d3:	ff 74 24 1c          	push   0x1c(%esp)
5973d7:	8d 46 01             	lea    0x1(%esi),%eax
5973da:	50                   	push   %eax
5973db:	e8 40 e2 00 00       	call   0x5a5620
5973e0:	8b 4d 04             	mov    0x4(%ebp),%ecx
5973e3:	83 c4 0c             	add    $0xc,%esp
5973e6:	89 41 04             	mov    %eax,0x4(%ecx)
5973e9:	85 c0                	test   %eax,%eax
5973eb:	75 06                	jne    0x5973f3
5973ed:	5d                   	pop    %ebp
5973ee:	5e                   	pop    %esi
5973ef:	33 c0                	xor    %eax,%eax
5973f1:	5b                   	pop    %ebx
5973f2:	c3                   	ret
5973f3:	57                   	push   %edi
5973f4:	2b f3                	sub    %ebx,%esi
5973f6:	68 49 02 00 00       	push   $0x249
5973fb:	68 24 8b 6c 00       	push   $0x6c8b24
597400:	8d 46 01             	lea    0x1(%esi),%eax
597403:	50                   	push   %eax
597404:	e8 a7 8d f0 ff       	call   0x4a01b0
597409:	8b f8                	mov    %eax,%edi
59740b:	83 c4 0c             	add    $0xc,%esp
59740e:	85 ff                	test   %edi,%edi
597410:	75 05                	jne    0x597417
597412:	5f                   	pop    %edi
597413:	5d                   	pop    %ebp
597414:	5e                   	pop    %esi
597415:	5b                   	pop    %ebx
597416:	c3                   	ret
597417:	56                   	push   %esi
597418:	53                   	push   %ebx
597419:	57                   	push   %edi
59741a:	e8 b1 56 06 00       	call   0x5fcad0
59741f:	6a 00                	push   $0x0
597421:	57                   	push   %edi
597422:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
597426:	e8 95 0a f1 ff       	call   0x4a7ec0
59742b:	8b 4d 04             	mov    0x4(%ebp),%ecx
59742e:	57                   	push   %edi
59742f:	89 01                	mov    %eax,(%ecx)
597431:	e8 fa 8c f0 ff       	call   0x4a0130
597436:	8b 4d 04             	mov    0x4(%ebp),%ecx
597439:	83 c4 18             	add    $0x18,%esp
59743c:	33 c0                	xor    %eax,%eax
59743e:	39 01                	cmp    %eax,(%ecx)
597440:	5f                   	pop    %edi
597441:	5d                   	pop    %ebp
597442:	5e                   	pop    %esi
597443:	0f 95 c0             	setne  %al
597446:	5b                   	pop    %ebx
597447:	c3                   	ret
597448:	cc                   	int3
597449:	cc                   	int3
59744a:	cc                   	int3
59744b:	cc                   	int3
59744c:	cc                   	int3
59744d:	cc                   	int3
59744e:	cc                   	int3
59744f:	cc                   	int3
597450:	b8 10 01 00 00       	mov    $0x110,%eax
597455:	e8 96 a0 04 00       	call   0x5e14f0
59745a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
59745f:	33 c4                	xor    %esp,%eax
597461:	89 84 24 0c 01 00 00 	mov    %eax,0x10c(%esp)
597468:	8b 84 24 18 01 00 00 	mov    0x118(%esp),%eax
59746f:	8b 8c 24 1c 01 00 00 	mov    0x11c(%esp),%ecx
597476:	55                   	push   %ebp
597477:	89 4c 24 04          	mov    %ecx,0x4(%esp)
59747b:	8b 10                	mov    (%eax),%edx
59747d:	83 fa 08             	cmp    $0x8,%edx
597480:	0f 87 10 02 00 00    	ja     0x597696
597486:	ff 24 95 b0 76 59 00 	jmp    *0x5976b0(,%edx,4)
59748d:	8d 44 24 04          	lea    0x4(%esp),%eax
597491:	50                   	push   %eax
597492:	68 00 8a 6c 00       	push   $0x6c8a00
597497:	68 10 8a 6c 00       	push   $0x6c8a10
59749c:	e8 2f 0c fe ff       	call   0x5780d0
5974a1:	83 c4 0c             	add    $0xc,%esp
5974a4:	85 c0                	test   %eax,%eax
5974a6:	0f 85 e6 01 00 00    	jne    0x597692
5974ac:	33 c0                	xor    %eax,%eax
5974ae:	5d                   	pop    %ebp
5974af:	8b 8c 24 0c 01 00 00 	mov    0x10c(%esp),%ecx
5974b6:	33 cc                	xor    %esp,%ecx
5974b8:	e8 1d a0 04 00       	call   0x5e14da
5974bd:	81 c4 10 01 00 00    	add    $0x110,%esp
5974c3:	c3                   	ret
5974c4:	8d 44 24 04          	lea    0x4(%esp),%eax
5974c8:	50                   	push   %eax
5974c9:	68 00 8a 6c 00       	push   $0x6c8a00
5974ce:	68 1c 8a 6c 00       	push   $0x6c8a1c
5974d3:	eb c7                	jmp    0x59749c
5974d5:	8d 44 24 04          	lea    0x4(%esp),%eax
5974d9:	50                   	push   %eax
5974da:	68 00 8a 6c 00       	push   $0x6c8a00
5974df:	68 28 8a 6c 00       	push   $0x6c8a28
5974e4:	eb b6                	jmp    0x59749c
5974e6:	8b 40 04             	mov    0x4(%eax),%eax
5974e9:	8d 4c 24 04          	lea    0x4(%esp),%ecx
5974ed:	51                   	push   %ecx
5974ee:	ff 70 08             	push   0x8(%eax)
5974f1:	68 38 8a 6c 00       	push   $0x6c8a38
5974f6:	e8 55 0d fe ff       	call   0x578250
5974fb:	eb a4                	jmp    0x5974a1
5974fd:	8b 40 04             	mov    0x4(%eax),%eax
597500:	8d 4c 24 04          	lea    0x4(%esp),%ecx
597504:	51                   	push   %ecx
597505:	ff 70 08             	push   0x8(%eax)
597508:	68 40 8a 6c 00       	push   $0x6c8a40
59750d:	e8 3e 0d fe ff       	call   0x578250
597512:	eb 8d                	jmp    0x5974a1
597514:	8b 40 04             	mov    0x4(%eax),%eax
597517:	8d 4c 24 04          	lea    0x4(%esp),%ecx
59751b:	51                   	push   %ecx
59751c:	ff 70 08             	push   0x8(%eax)
59751f:	68 44 8a 6c 00       	push   $0x6c8a44
597524:	e8 27 0d fe ff       	call   0x578250
597529:	e9 73 ff ff ff       	jmp    0x5974a1
59752e:	68 00 01 00 00       	push   $0x100
597533:	8d 4c 24 14          	lea    0x14(%esp),%ecx
597537:	51                   	push   %ecx
597538:	ff 70 04             	push   0x4(%eax)
59753b:	e8 20 b8 ff ff       	call   0x592d60
597540:	83 c4 0c             	add    $0xc,%esp
597543:	85 c0                	test   %eax,%eax
597545:	0f 84 61 ff ff ff    	je     0x5974ac
59754b:	8d 44 24 04          	lea    0x4(%esp),%eax
59754f:	50                   	push   %eax
597550:	8d 44 24 14          	lea    0x14(%esp),%eax
597554:	50                   	push   %eax
597555:	68 48 8a 6c 00       	push   $0x6c8a48
59755a:	e9 3d ff ff ff       	jmp    0x59749c
59755f:	8b 40 04             	mov    0x4(%eax),%eax
597562:	8b 68 08             	mov    0x8(%eax),%ebp
597565:	8b 00                	mov    (%eax),%eax
597567:	83 f8 04             	cmp    $0x4,%eax
59756a:	75 3f                	jne    0x5975ab
59756c:	0f b6 45 03          	movzbl 0x3(%ebp),%eax
597570:	50                   	push   %eax
597571:	0f b6 45 02          	movzbl 0x2(%ebp),%eax
597575:	50                   	push   %eax
597576:	0f b6 45 01          	movzbl 0x1(%ebp),%eax
59757a:	50                   	push   %eax
59757b:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
59757f:	50                   	push   %eax
597580:	68 24 d4 6b 00       	push   $0x6bd424
597585:	8d 44 24 24          	lea    0x24(%esp),%eax
597589:	68 00 01 00 00       	push   $0x100