41a113:	80 38 30             	cmpb   $0x30,(%eax)
41a116:	74 2f                	je     0x41a147
41a118:	8b 52 04             	mov    0x4(%edx),%edx
41a11b:	83 ea 01             	sub    $0x1,%edx
41a11e:	79 06                	jns    0x41a126
41a120:	f7 da                	neg    %edx
41a122:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
41a126:	6a 64                	push   $0x64
41a128:	5f                   	pop    %edi
41a129:	3b d7                	cmp    %edi,%edx
41a12b:	7c 08                	jl     0x41a135
41a12d:	8b c2                	mov    %edx,%eax
41a12f:	99                   	cltd
41a130:	f7 ff                	idiv   %edi
41a132:	00 46 02             	add    %al,0x2(%esi)
41a135:	6a 0a                	push   $0xa
41a137:	5f                   	pop    %edi
41a138:	3b d7                	cmp    %edi,%edx
41a13a:	7c 08                	jl     0x41a144
41a13c:	8b c2                	mov    %edx,%eax
41a13e:	99                   	cltd
41a13f:	f7 ff                	idiv   %edi
41a141:	00 46 03             	add    %al,0x3(%esi)
41a144:	00 56 04             	add    %dl,0x4(%esi)
41a147:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
41a14b:	75 14                	jne    0x41a161
41a14d:	80 39 30             	cmpb   $0x30,(%ecx)
41a150:	75 0f                	jne    0x41a161
41a152:	6a 03                	push   $0x3
41a154:	8d 41 01             	lea    0x1(%ecx),%eax
41a157:	50                   	push   %eax
41a158:	51                   	push   %ecx
41a159:	e8 c2 d8 fe ff       	call   0x407a20
41a15e:	83 c4 0c             	add    $0xc,%esp
41a161:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41a165:	74 0a                	je     0x41a171
41a167:	8b 45 f0             	mov    -0x10(%ebp),%eax
41a16a:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41a171:	33 c0                	xor    %eax,%eax
41a173:	e9 f2 fe ff ff       	jmp    0x41a06a
41a178:	33 c0                	xor    %eax,%eax
41a17a:	50                   	push   %eax
41a17b:	50                   	push   %eax
41a17c:	50                   	push   %eax
41a17d:	50                   	push   %eax
41a17e:	50                   	push   %eax
41a17f:	e8 8b 1b ff ff       	call   0x40bd0f
41a184:	cc                   	int3
41a185:	8b ff                	mov    %edi,%edi
41a187:	55                   	push   %ebp
41a188:	8b ec                	mov    %esp,%ebp
41a18a:	83 ec 0c             	sub    $0xc,%esp
41a18d:	33 c0                	xor    %eax,%eax
41a18f:	56                   	push   %esi
41a190:	57                   	push   %edi
41a191:	ff 75 18             	push   0x18(%ebp)
41a194:	8d 7d f4             	lea    -0xc(%ebp),%edi
41a197:	ff 75 14             	push   0x14(%ebp)
41a19a:	ab                   	stos   %eax,%es:(%edi)
41a19b:	ab                   	stos   %eax,%es:(%edi)
41a19c:	ab                   	stos   %eax,%es:(%edi)
41a19d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a1a0:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41a1a3:	50                   	push   %eax
41a1a4:	8b 45 08             	mov    0x8(%ebp),%eax
41a1a7:	57                   	push   %edi
41a1a8:	ff 70 04             	push   0x4(%eax)
41a1ab:	ff 30                	push   (%eax)
41a1ad:	e8 3e 8e 00 00       	call   0x422ff0
41a1b2:	83 c9 ff             	or     $0xffffffff,%ecx
41a1b5:	83 c4 18             	add    $0x18,%esp
41a1b8:	39 4d 10             	cmp    %ecx,0x10(%ebp)
41a1bb:	74 0e                	je     0x41a1cb
41a1bd:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a1c0:	33 c0                	xor    %eax,%eax
41a1c2:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
41a1c6:	0f 94 c0             	sete   %al
41a1c9:	2b c8                	sub    %eax,%ecx
41a1cb:	8b 75 0c             	mov    0xc(%ebp),%esi
41a1ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a1d1:	50                   	push   %eax
41a1d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
41a1d5:	03 c7                	add    %edi,%eax
41a1d7:	50                   	push   %eax
41a1d8:	33 c0                	xor    %eax,%eax
41a1da:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
41a1de:	51                   	push   %ecx
41a1df:	0f 94 c0             	sete   %al
41a1e2:	03 c6                	add    %esi,%eax
41a1e4:	50                   	push   %eax
41a1e5:	e8 20 8d 00 00       	call   0x422f0a
41a1ea:	83 c4 10             	add    $0x10,%esp
41a1ed:	85 c0                	test   %eax,%eax
41a1ef:	74 05                	je     0x41a1f6
41a1f1:	c6 06 00             	movb   $0x0,(%esi)
41a1f4:	eb 16                	jmp    0x41a20c
41a1f6:	ff 75 20             	push   0x20(%ebp)
41a1f9:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a1fc:	6a 00                	push   $0x0
41a1fe:	50                   	push   %eax
41a1ff:	57                   	push   %edi
41a200:	ff 75 10             	push   0x10(%ebp)
41a203:	56                   	push   %esi
41a204:	e8 09 00 00 00       	call   0x41a212
41a209:	83 c4 18             	add    $0x18,%esp
41a20c:	5f                   	pop    %edi
41a20d:	5e                   	pop    %esi
41a20e:	8b e5                	mov    %ebp,%esp
41a210:	5d                   	pop    %ebp
41a211:	c3                   	ret
41a212:	8b ff                	mov    %edi,%edi
41a214:	55                   	push   %ebp
41a215:	8b ec                	mov    %esp,%ebp
41a217:	83 ec 10             	sub    $0x10,%esp
41a21a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41a21d:	53                   	push   %ebx
41a21e:	56                   	push   %esi
41a21f:	57                   	push   %edi
41a220:	ff 75 1c             	push   0x1c(%ebp)
41a223:	e8 a0 25 ff ff       	call   0x40c7c8
41a228:	8b 55 14             	mov    0x14(%ebp),%edx
41a22b:	8b 7d 10             	mov    0x10(%ebp),%edi
41a22e:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a231:	8b 4a 04             	mov    0x4(%edx),%ecx
41a234:	49                   	dec    %ecx
41a235:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41a239:	74 14                	je     0x41a24f
41a23b:	3b cf                	cmp    %edi,%ecx
41a23d:	75 10                	jne    0x41a24f
41a23f:	33 c0                	xor    %eax,%eax
41a241:	83 3a 2d             	cmpl   $0x2d,(%edx)
41a244:	0f 94 c0             	sete   %al
41a247:	03 c1                	add    %ecx,%eax
41a249:	66 c7 04 18 30 00    	movw   $0x30,(%eax,%ebx,1)
41a24f:	83 3a 2d             	cmpl   $0x2d,(%edx)
41a252:	8b f3                	mov    %ebx,%esi
41a254:	75 06                	jne    0x41a25c
41a256:	c6 03 2d             	movb   $0x2d,(%ebx)
41a259:	8d 73 01             	lea    0x1(%ebx),%esi
41a25c:	8b 42 04             	mov    0x4(%edx),%eax
41a25f:	85 c0                	test   %eax,%eax
41a261:	7f 15                	jg     0x41a278
41a263:	6a 01                	push   $0x1
41a265:	56                   	push   %esi
41a266:	ff 75 0c             	push   0xc(%ebp)
41a269:	53                   	push   %ebx
41a26a:	e8 3a 02 00 00       	call   0x41a4a9
41a26f:	83 c4 10             	add    $0x10,%esp
41a272:	c6 06 30             	movb   $0x30,(%esi)
41a275:	46                   	inc    %esi
41a276:	eb 02                	jmp    0x41a27a
41a278:	03 f0                	add    %eax,%esi
41a27a:	85 ff                	test   %edi,%edi
41a27c:	7e 52                	jle    0x41a2d0
41a27e:	6a 01                	push   $0x1
41a280:	56                   	push   %esi
41a281:	ff 75 0c             	push   0xc(%ebp)
41a284:	53                   	push   %ebx
41a285:	e8 1f 02 00 00       	call   0x41a4a9
41a28a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41a28d:	83 c4 10             	add    $0x10,%esp
41a290:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
41a296:	8b 00                	mov    (%eax),%eax
41a298:	8a 00                	mov    (%eax),%al
41a29a:	88 06                	mov    %al,(%esi)
41a29c:	46                   	inc    %esi
41a29d:	8b 45 14             	mov    0x14(%ebp),%eax
41a2a0:	8b 48 04             	mov    0x4(%eax),%ecx
41a2a3:	85 c9                	test   %ecx,%ecx
41a2a5:	79 29                	jns    0x41a2d0
41a2a7:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41a2ab:	75 08                	jne    0x41a2b5
41a2ad:	8b c1                	mov    %ecx,%eax
41a2af:	f7 d8                	neg    %eax
41a2b1:	3b c7                	cmp    %edi,%eax
41a2b3:	7d 04                	jge    0x41a2b9
41a2b5:	8b f9                	mov    %ecx,%edi
41a2b7:	f7 df                	neg    %edi
41a2b9:	57                   	push   %edi
41a2ba:	56                   	push   %esi
41a2bb:	ff 75 0c             	push   0xc(%ebp)
41a2be:	53                   	push   %ebx
41a2bf:	e8 e5 01 00 00       	call   0x41a4a9
41a2c4:	57                   	push   %edi
41a2c5:	6a 30                	push   $0x30
41a2c7:	56                   	push   %esi
41a2c8:	e8 13 e7 fe ff       	call   0x4089e0
41a2cd:	83 c4 1c             	add    $0x1c,%esp
41a2d0:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41a2d4:	5f                   	pop    %edi
41a2d5:	5e                   	pop    %esi
41a2d6:	5b                   	pop    %ebx
41a2d7:	74 0a                	je     0x41a2e3
41a2d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
41a2dc:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41a2e3:	33 c0                	xor    %eax,%eax
41a2e5:	8b e5                	mov    %ebp,%esp
41a2e7:	5d                   	pop    %ebp
41a2e8:	c3                   	ret
41a2e9:	8b ff                	mov    %edi,%edi
41a2eb:	55                   	push   %ebp
41a2ec:	8b ec                	mov    %esp,%ebp
41a2ee:	83 ec 10             	sub    $0x10,%esp
41a2f1:	53                   	push   %ebx
41a2f2:	56                   	push   %esi
41a2f3:	57                   	push   %edi
41a2f4:	ff 75 18             	push   0x18(%ebp)
41a2f7:	33 c0                	xor    %eax,%eax
41a2f9:	8d 7d f0             	lea    -0x10(%ebp),%edi
41a2fc:	ff 75 14             	push   0x14(%ebp)
41a2ff:	ab                   	stos   %eax,%es:(%edi)
41a300:	ab                   	stos   %eax,%es:(%edi)
41a301:	ab                   	stos   %eax,%es:(%edi)
41a302:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a305:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41a308:	50                   	push   %eax
41a309:	8b 45 08             	mov    0x8(%ebp),%eax
41a30c:	57                   	push   %edi
41a30d:	ff 70 04             	push   0x4(%eax)
41a310:	ff 30                	push   (%eax)
41a312:	e8 d9 8c 00 00       	call   0x422ff0
41a317:	8b 45 f4             	mov    -0xc(%ebp),%eax
41a31a:	33 c9                	xor    %ecx,%ecx
41a31c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41a31f:	83 c4 18             	add    $0x18,%esp
41a322:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
41a326:	0f 94 c1             	sete   %cl
41a329:	48                   	dec    %eax
41a32a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a32d:	83 c8 ff             	or     $0xffffffff,%eax
41a330:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
41a333:	39 45 10             	cmp    %eax,0x10(%ebp)
41a336:	74 05                	je     0x41a33d
41a338:	8b 45 10             	mov    0x10(%ebp),%eax
41a33b:	2b c1                	sub    %ecx,%eax
41a33d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41a340:	51                   	push   %ecx
41a341:	57                   	push   %edi
41a342:	50                   	push   %eax
41a343:	56                   	push   %esi
41a344:	e8 c1 8b 00 00       	call   0x422f0a
41a349:	83 c4 10             	add    $0x10,%esp
41a34c:	85 c0                	test   %eax,%eax
41a34e:	74 05                	je     0x41a355
41a350:	c6 03 00             	movb   $0x0,(%ebx)
41a353:	eb 55                	jmp    0x41a3aa
41a355:	8b 45 f4             	mov    -0xc(%ebp),%eax
41a358:	48                   	dec    %eax
41a359:	39 45 fc             	cmp    %eax,-0x4(%ebp)
41a35c:	0f 9c c1             	setl   %cl
41a35f:	83 f8 fc             	cmp    $0xfffffffc,%eax
41a362:	7c 2a                	jl     0x41a38e
41a364:	3b c7                	cmp    %edi,%eax
41a366:	7d 26                	jge    0x41a38e
41a368:	84 c9                	test   %cl,%cl
41a36a:	74 0a                	je     0x41a376
41a36c:	8a 06                	mov    (%esi),%al
41a36e:	46                   	inc    %esi
41a36f:	84 c0                	test   %al,%al
41a371:	75 f9                	jne    0x41a36c
41a373:	88 46 fe             	mov    %al,-0x2(%esi)
41a376:	ff 75 28             	push   0x28(%ebp)
41a379:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a37c:	6a 01                	push   $0x1
41a37e:	50                   	push   %eax
41a37f:	57                   	push   %edi
41a380:	ff 75 10             	push   0x10(%ebp)
41a383:	53                   	push   %ebx
41a384:	e8 89 fe ff ff       	call   0x41a212
41a389:	83 c4 18             	add    $0x18,%esp
41a38c:	eb 1c                	jmp    0x41a3aa
41a38e:	ff 75 28             	push   0x28(%ebp)
41a391:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a394:	6a 01                	push   $0x1
41a396:	50                   	push   %eax
41a397:	ff 75 24             	push   0x24(%ebp)
41a39a:	ff 75 20             	push   0x20(%ebp)
41a39d:	57                   	push   %edi
41a39e:	ff 75 10             	push   0x10(%ebp)
41a3a1:	53                   	push   %ebx
41a3a2:	e8 93 fc ff ff       	call   0x41a03a
41a3a7:	83 c4 20             	add    $0x20,%esp
41a3aa:	5f                   	pop    %edi
41a3ab:	5e                   	pop    %esi
41a3ac:	5b                   	pop    %ebx
41a3ad:	8b e5                	mov    %ebp,%esp
41a3af:	5d                   	pop    %ebp
41a3b0:	c3                   	ret
41a3b1:	8b ff                	mov    %edi,%edi
41a3b3:	55                   	push   %ebp
41a3b4:	8b ec                	mov    %esp,%ebp
41a3b6:	83 ec 48             	sub    $0x48,%esp
41a3b9:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41a3be:	33 c5                	xor    %ebp,%eax
41a3c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a3c3:	8b 55 14             	mov    0x14(%ebp),%edx
41a3c6:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a3c9:	53                   	push   %ebx
41a3ca:	8a 5d 0c             	mov    0xc(%ebp),%bl
41a3cd:	0f b6 c3             	movzbl %bl,%eax
41a3d0:	83 c0 04             	add    $0x4,%eax
41a3d3:	3b d0                	cmp    %eax,%edx
41a3d5:	73 15                	jae    0x41a3ec
41a3d7:	6a 0c                	push   $0xc
41a3d9:	c6 01 00             	movb   $0x0,(%ecx)
41a3dc:	58                   	pop    %eax
41a3dd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41a3e0:	33 cd                	xor    %ebp,%ecx
41a3e2:	5b                   	pop    %ebx
41a3e3:	e8 78 cc fe ff       	call   0x407060
41a3e8:	8b e5                	mov    %ebp,%esp
41a3ea:	5d                   	pop    %ebp
41a3eb:	c3                   	ret
41a3ec:	84 db                	test   %bl,%bl
41a3ee:	74 08                	je     0x41a3f8
41a3f0:	c6 01 2d             	movb   $0x2d,(%ecx)
41a3f3:	41                   	inc    %ecx
41a3f4:	4a                   	dec    %edx
41a3f5:	c6 01 00             	movb   $0x0,(%ecx)
41a3f8:	b8 2c cd 42 00       	mov    $0x42cd2c,%eax
41a3fd:	c7 45 dc 3c cd 42 00 	movl   $0x42cd3c,-0x24(%ebp)
41a404:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a407:	33 db                	xor    %ebx,%ebx
41a409:	38 5d 18             	cmp    %bl,0x18(%ebp)
41a40c:	89 45 c0             	mov    %eax,-0x40(%ebp)
41a40f:	b8 30 cd 42 00       	mov    $0x42cd30,%eax
41a414:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41a417:	0f 95 c3             	setne  %bl
41a41a:	89 45 c8             	mov    %eax,-0x38(%ebp)
41a41d:	4b                   	dec    %ebx
41a41e:	b8 38 cd 42 00       	mov    $0x42cd38,%eax
41a423:	c7 45 e4 48 cd 42 00 	movl   $0x42cd48,-0x1c(%ebp)
41a42a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41a42d:	83 e3 02             	and    $0x2,%ebx
41a430:	89 45 d8             	mov    %eax,-0x28(%ebp)
41a433:	89 45 e8             	mov    %eax,-0x18(%ebp)
41a436:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a439:	8b 45 08             	mov    0x8(%ebp),%eax
41a43c:	56                   	push   %esi
41a43d:	be 34 cd 42 00       	mov    $0x42cd34,%esi
41a442:	c7 45 ec 54 cd 42 00 	movl   $0x42cd54,-0x14(%ebp)
41a449:	57                   	push   %edi
41a44a:	8d 3c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%edi
41a451:	89 75 cc             	mov    %esi,-0x34(%ebp)
41a454:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
41a457:	89 75 d0             	mov    %esi,-0x30(%ebp)
41a45a:	89 75 e0             	mov    %esi,-0x20(%ebp)
41a45d:	89 75 f0             	mov    %esi,-0x10(%ebp)
41a460:	c7 45 f4 60 cd 42 00 	movl   $0x42cd60,-0xc(%ebp)
41a467:	8b 74 85 bc          	mov    -0x44(%ebp,%eax,4),%esi