57801f:	cc                   	int3
578020:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
578025:	75 03                	jne    0x57802a
578027:	33 c0                	xor    %eax,%eax
578029:	c3                   	ret
57802a:	53                   	push   %ebx
57802b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
57802f:	55                   	push   %ebp
578030:	56                   	push   %esi
578031:	57                   	push   %edi
578032:	53                   	push   %ebx
578033:	33 ff                	xor    %edi,%edi
578035:	e8 d6 65 f3 ff       	call   0x4ae610
57803a:	83 c4 04             	add    $0x4,%esp
57803d:	85 c0                	test   %eax,%eax
57803f:	7e 6f                	jle    0x5780b0
578041:	57                   	push   %edi
578042:	53                   	push   %ebx
578043:	e8 e8 66 f3 ff       	call   0x4ae730
578048:	8b e8                	mov    %eax,%ebp
57804a:	83 c4 08             	add    $0x8,%esp
57804d:	8b 75 04             	mov    0x4(%ebp),%esi
578050:	8b d6                	mov    %esi,%edx
578052:	8a 0e                	mov    (%esi),%cl
578054:	84 c9                	test   %cl,%cl
578056:	74 20                	je     0x578078
578058:	80 f9 3a             	cmp    $0x3a,%cl
57805b:	74 14                	je     0x578071
57805d:	80 f9 2c             	cmp    $0x2c,%cl
578060:	74 0f                	je     0x578071
578062:	80 f9 2e             	cmp    $0x2e,%cl
578065:	74 0a                	je     0x578071
578067:	8a 4a 01             	mov    0x1(%edx),%cl
57806a:	42                   	inc    %edx
57806b:	84 c9                	test   %cl,%cl
57806d:	75 e9                	jne    0x578058
57806f:	eb 07                	jmp    0x578078
578071:	42                   	inc    %edx
578072:	80 3a 00             	cmpb   $0x0,(%edx)
578075:	0f 45 f2             	cmovne %edx,%esi
578078:	80 3e 2b             	cmpb   $0x2b,(%esi)
57807b:	75 06                	jne    0x578083
57807d:	83 c8 ff             	or     $0xffffffff,%eax
578080:	46                   	inc    %esi
578081:	eb 02                	jmp    0x578085
578083:	33 c0                	xor    %eax,%eax
578085:	50                   	push   %eax
578086:	6a ff                	push   $0xffffffff
578088:	6a ff                	push   $0xffffffff
57808a:	ff 75 08             	push   0x8(%ebp)
57808d:	ff 74 24 2c          	push   0x2c(%esp)
578091:	56                   	push   %esi
578092:	ff 74 24 2c          	push   0x2c(%esp)
578096:	e8 75 5a 01 00       	call   0x58db10
57809b:	83 c4 1c             	add    $0x1c,%esp
57809e:	85 c0                	test   %eax,%eax
5780a0:	74 18                	je     0x5780ba
5780a2:	53                   	push   %ebx
5780a3:	47                   	inc    %edi
5780a4:	e8 67 65 f3 ff       	call   0x4ae610
5780a9:	83 c4 04             	add    $0x4,%esp
5780ac:	3b f8                	cmp    %eax,%edi
5780ae:	7c 91                	jl     0x578041
5780b0:	5f                   	pop    %edi
5780b1:	5e                   	pop    %esi
5780b2:	5d                   	pop    %ebp
5780b3:	b8 01 00 00 00       	mov    $0x1,%eax
5780b8:	5b                   	pop    %ebx
5780b9:	c3                   	ret
5780ba:	5f                   	pop    %edi
5780bb:	5e                   	pop    %esi
5780bc:	5d                   	pop    %ebp
5780bd:	33 c0                	xor    %eax,%eax
5780bf:	5b                   	pop    %ebx
5780c0:	c3                   	ret
5780c1:	cc                   	int3
5780c2:	cc                   	int3
5780c3:	cc                   	int3
5780c4:	cc                   	int3
5780c5:	cc                   	int3
5780c6:	cc                   	int3
5780c7:	cc                   	int3
5780c8:	cc                   	int3
5780c9:	cc                   	int3
5780ca:	cc                   	int3
5780cb:	cc                   	int3
5780cc:	cc                   	int3
5780cd:	cc                   	int3
5780ce:	cc                   	int3
5780cf:	cc                   	int3
5780d0:	8b 44 24 04          	mov    0x4(%esp),%eax
5780d4:	53                   	push   %ebx
5780d5:	55                   	push   %ebp
5780d6:	56                   	push   %esi
5780d7:	57                   	push   %edi
5780d8:	33 f6                	xor    %esi,%esi
5780da:	33 db                	xor    %ebx,%ebx
5780dc:	33 ff                	xor    %edi,%edi
5780de:	85 c0                	test   %eax,%eax
5780e0:	74 0f                	je     0x5780f1
5780e2:	50                   	push   %eax
5780e3:	e8 c8 66 f3 ff       	call   0x4ae7b0
5780e8:	8b d8                	mov    %eax,%ebx
5780ea:	83 c4 04             	add    $0x4,%esp
5780ed:	85 db                	test   %ebx,%ebx
5780ef:	74 6a                	je     0x57815b
5780f1:	8b 44 24 18          	mov    0x18(%esp),%eax
5780f5:	85 c0                	test   %eax,%eax
5780f7:	74 0f                	je     0x578108
5780f9:	50                   	push   %eax
5780fa:	e8 b1 66 f3 ff       	call   0x4ae7b0
5780ff:	8b f8                	mov    %eax,%edi
578101:	83 c4 04             	add    $0x4,%esp
578104:	85 ff                	test   %edi,%edi
578106:	74 53                	je     0x57815b
578108:	6a 5b                	push   $0x5b
57810a:	68 bc d3 6b 00       	push   $0x6bd3bc
57810f:	6a 0c                	push   $0xc
578111:	e8 9a 80 f2 ff       	call   0x4a01b0
578116:	8b f0                	mov    %eax,%esi
578118:	83 c4 0c             	add    $0xc,%esp
57811b:	85 f6                	test   %esi,%esi
57811d:	74 3c                	je     0x57815b
57811f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
578123:	83 7d 00 00          	cmpl   $0x0,0x0(%ebp)
578127:	75 0c                	jne    0x578135
578129:	e8 d2 64 f3 ff       	call   0x4ae600
57812e:	89 45 00             	mov    %eax,0x0(%ebp)
578131:	85 c0                	test   %eax,%eax
578133:	74 26                	je     0x57815b
578135:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
57813b:	89 5e 04             	mov    %ebx,0x4(%esi)
57813e:	89 7e 08             	mov    %edi,0x8(%esi)
578141:	56                   	push   %esi
578142:	ff 75 00             	push   0x0(%ebp)
578145:	e8 46 65 f3 ff       	call   0x4ae690
57814a:	83 c4 08             	add    $0x8,%esp
57814d:	85 c0                	test   %eax,%eax
57814f:	74 0a                	je     0x57815b
578151:	5f                   	pop    %edi
578152:	5e                   	pop    %esi
578153:	5d                   	pop    %ebp
578154:	b8 01 00 00 00       	mov    $0x1,%eax
578159:	5b                   	pop    %ebx
57815a:	c3                   	ret
57815b:	6a 66                	push   $0x66
57815d:	68 bc d3 6b 00       	push   $0x6bd3bc
578162:	6a 41                	push   $0x41
578164:	6a 69                	push   $0x69
578166:	6a 22                	push   $0x22
578168:	e8 33 93 f2 ff       	call   0x4a14a0
57816d:	83 c4 14             	add    $0x14,%esp
578170:	85 f6                	test   %esi,%esi
578172:	74 09                	je     0x57817d
578174:	56                   	push   %esi
578175:	e8 b6 7f f2 ff       	call   0x4a0130
57817a:	83 c4 04             	add    $0x4,%esp
57817d:	85 db                	test   %ebx,%ebx
57817f:	74 09                	je     0x57818a
578181:	53                   	push   %ebx
578182:	e8 a9 7f f2 ff       	call   0x4a0130
578187:	83 c4 04             	add    $0x4,%esp
57818a:	85 ff                	test   %edi,%edi
57818c:	74 09                	je     0x578197
57818e:	57                   	push   %edi
57818f:	e8 9c 7f f2 ff       	call   0x4a0130
578194:	83 c4 04             	add    $0x4,%esp
578197:	5f                   	pop    %edi
578198:	5e                   	pop    %esi
578199:	5d                   	pop    %ebp
57819a:	33 c0                	xor    %eax,%eax
57819c:	5b                   	pop    %ebx
57819d:	c3                   	ret
57819e:	cc                   	int3
57819f:	cc                   	int3
5781a0:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5781a5:	74 0d                	je     0x5781b4
5781a7:	c7 44 24 08 d8 d3 6b 	movl   $0x6bd3d8,0x8(%esp)
5781ae:	00
5781af:	e9 1c ff ff ff       	jmp    0x5780d0
5781b4:	c7 44 24 08 e0 d3 6b 	movl   $0x6bd3e0,0x8(%esp)
5781bb:	00
5781bc:	e9 0f ff ff ff       	jmp    0x5780d0
5781c1:	cc                   	int3
5781c2:	cc                   	int3
5781c3:	cc                   	int3
5781c4:	cc                   	int3
5781c5:	cc                   	int3
5781c6:	cc                   	int3
5781c7:	cc                   	int3
5781c8:	cc                   	int3
5781c9:	cc                   	int3
5781ca:	cc                   	int3
5781cb:	cc                   	int3
5781cc:	cc                   	int3
5781cd:	cc                   	int3
5781ce:	cc                   	int3
5781cf:	cc                   	int3
5781d0:	8b 44 24 08          	mov    0x8(%esp),%eax
5781d4:	85 c0                	test   %eax,%eax
5781d6:	75 06                	jne    0x5781de
5781d8:	b8 01 00 00 00       	mov    $0x1,%eax
5781dd:	c3                   	ret
5781de:	56                   	push   %esi
5781df:	57                   	push   %edi
5781e0:	33 ff                	xor    %edi,%edi
5781e2:	57                   	push   %edi
5781e3:	50                   	push   %eax
5781e4:	e8 f7 bd f3 ff       	call   0x4b3fe0
5781e9:	8b f0                	mov    %eax,%esi
5781eb:	83 c4 08             	add    $0x8,%esp
5781ee:	85 f6                	test   %esi,%esi
5781f0:	74 0f                	je     0x578201
5781f2:	56                   	push   %esi
5781f3:	e8 b8 c7 f3 ff       	call   0x4b49b0
5781f8:	8b f8                	mov    %eax,%edi
5781fa:	83 c4 04             	add    $0x4,%esp
5781fd:	85 ff                	test   %edi,%edi
5781ff:	75 18                	jne    0x578219
578201:	68 aa 00 00 00       	push   $0xaa
578206:	68 bc d3 6b 00       	push   $0x6bd3bc
57820b:	6a 41                	push   $0x41
57820d:	6a 78                	push   $0x78
57820f:	6a 22                	push   $0x22
578211:	e8 8a 92 f2 ff       	call   0x4a14a0
578216:	83 c4 14             	add    $0x14,%esp
578219:	56                   	push   %esi
57821a:	e8 c1 af f3 ff       	call   0x4b31e0
57821f:	83 c4 04             	add    $0x4,%esp
578222:	85 ff                	test   %edi,%edi
578224:	75 05                	jne    0x57822b
578226:	5f                   	pop    %edi
578227:	33 c0                	xor    %eax,%eax
578229:	5e                   	pop    %esi
57822a:	c3                   	ret
57822b:	ff 74 24 14          	push   0x14(%esp)
57822f:	57                   	push   %edi
578230:	ff 74 24 14          	push   0x14(%esp)
578234:	e8 97 fe ff ff       	call   0x5780d0
578239:	57                   	push   %edi
57823a:	8b f0                	mov    %eax,%esi
57823c:	e8 ef 7e f2 ff       	call   0x4a0130
578241:	83 c4 10             	add    $0x10,%esp
578244:	8b c6                	mov    %esi,%eax
578246:	5f                   	pop    %edi
578247:	5e                   	pop    %esi
578248:	c3                   	ret
578249:	cc                   	int3
57824a:	cc                   	int3
57824b:	cc                   	int3
57824c:	cc                   	int3
57824d:	cc                   	int3
57824e:	cc                   	int3
57824f:	cc                   	int3
578250:	e9 7b fe ff ff       	jmp    0x5780d0
578255:	cc                   	int3
578256:	cc                   	int3
578257:	cc                   	int3
578258:	cc                   	int3
578259:	cc                   	int3
57825a:	cc                   	int3
57825b:	cc                   	int3
57825c:	cc                   	int3
57825d:	cc                   	int3
57825e:	cc                   	int3
57825f:	cc                   	int3
578260:	56                   	push   %esi
578261:	8b 74 24 08          	mov    0x8(%esp),%esi
578265:	85 f6                	test   %esi,%esi
578267:	74 38                	je     0x5782a1
578269:	8b 46 04             	mov    0x4(%esi),%eax
57826c:	85 c0                	test   %eax,%eax
57826e:	74 09                	je     0x578279
578270:	50                   	push   %eax
578271:	e8 ba 7e f2 ff       	call   0x4a0130
578276:	83 c4 04             	add    $0x4,%esp
578279:	8b 46 08             	mov    0x8(%esi),%eax
57827c:	85 c0                	test   %eax,%eax
57827e:	74 09                	je     0x578289
578280:	50                   	push   %eax
578281:	e8 aa 7e f2 ff       	call   0x4a0130
578286:	83 c4 04             	add    $0x4,%esp
578289:	8b 06                	mov    (%esi),%eax
57828b:	85 c0                	test   %eax,%eax
57828d:	74 09                	je     0x578298
57828f:	50                   	push   %eax
578290:	e8 9b 7e f2 ff       	call   0x4a0130
578295:	83 c4 04             	add    $0x4,%esp
578298:	56                   	push   %esi
578299:	e8 92 7e f2 ff       	call   0x4a0130
57829e:	83 c4 04             	add    $0x4,%esp
5782a1:	5e                   	pop    %esi
5782a2:	c3                   	ret
5782a3:	cc                   	int3
5782a4:	cc                   	int3
5782a5:	cc                   	int3
5782a6:	cc                   	int3
5782a7:	cc                   	int3
5782a8:	cc                   	int3
5782a9:	cc                   	int3
5782aa:	cc                   	int3
5782ab:	cc                   	int3
5782ac:	cc                   	int3
5782ad:	cc                   	int3
5782ae:	cc                   	int3
5782af:	cc                   	int3
5782b0:	56                   	push   %esi
5782b1:	57                   	push   %edi
5782b2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5782b6:	8b 77 08             	mov    0x8(%edi),%esi
5782b9:	85 f6                	test   %esi,%esi
5782bb:	0f 84 92 02 00 00    	je     0x578553
5782c1:	b9 d8 d3 6b 00       	mov    $0x6bd3d8,%ecx
5782c6:	8b c6                	mov    %esi,%eax
5782c8:	8a 10                	mov    (%eax),%dl
5782ca:	3a 11                	cmp    (%ecx),%dl
5782cc:	75 1a                	jne    0x5782e8
5782ce:	84 d2                	test   %dl,%dl
5782d0:	74 12                	je     0x5782e4
5782d2:	8a 50 01             	mov    0x1(%eax),%dl
5782d5:	3a 51 01             	cmp    0x1(%ecx),%dl
5782d8:	75 0e                	jne    0x5782e8
5782da:	83 c0 02             	add    $0x2,%eax
5782dd:	83 c1 02             	add    $0x2,%ecx
5782e0:	84 d2                	test   %dl,%dl
5782e2:	75 e4                	jne    0x5782c8
5782e4:	33 c0                	xor    %eax,%eax
5782e6:	eb 05                	jmp    0x5782ed
5782e8:	1b c0                	sbb    %eax,%eax
5782ea:	83 c8 01             	or     $0x1,%eax
5782ed:	85 c0                	test   %eax,%eax
5782ef:	0f 84 4c 02 00 00    	je     0x578541
5782f5:	b9 a8 57 6e 00       	mov    $0x6e57a8,%ecx
5782fa:	8b c6                	mov    %esi,%eax
5782fc:	0f 1f 40 00          	nopl   0x0(%eax)
578300:	8a 10                	mov    (%eax),%dl
578302:	3a 11                	cmp    (%ecx),%dl
578304:	75 1a                	jne    0x578320
578306:	84 d2                	test   %dl,%dl
578308:	74 12                	je     0x57831c
57830a:	8a 50 01             	mov    0x1(%eax),%dl
57830d:	3a 51 01             	cmp    0x1(%ecx),%dl
578310:	75 0e                	jne    0x578320
578312:	83 c0 02             	add    $0x2,%eax
578315:	83 c1 02             	add    $0x2,%ecx
578318:	84 d2                	test   %dl,%dl
57831a:	75 e4                	jne    0x578300
57831c:	33 c0                	xor    %eax,%eax
57831e:	eb 05                	jmp    0x578325
578320:	1b c0                	sbb    %eax,%eax