419f76:	88 06                	mov    %al,(%esi)
419f78:	46                   	inc    %esi
419f79:	6a 30                	push   $0x30
419f7b:	58                   	pop    %eax
419f7c:	02 c8                	add    %al,%cl
419f7e:	33 ff                	xor    %edi,%edi
419f80:	88 0e                	mov    %cl,(%esi)
419f82:	c6 46 01 00          	movb   $0x0,0x1(%esi)
419f86:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
419f8a:	74 0a                	je     0x419f96
419f8c:	8b 4d d0             	mov    -0x30(%ebp),%ecx
419f8f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
419f96:	8b c7                	mov    %edi,%eax
419f98:	5f                   	pop    %edi
419f99:	5e                   	pop    %esi
419f9a:	5b                   	pop    %ebx
419f9b:	8b e5                	mov    %ebp,%esp
419f9d:	5d                   	pop    %ebp
419f9e:	c3                   	ret
419f9f:	8b ff                	mov    %edi,%edi
419fa1:	55                   	push   %ebp
419fa2:	8b ec                	mov    %esp,%ebp
419fa4:	83 ec 0c             	sub    $0xc,%esp
419fa7:	8d 45 f4             	lea    -0xc(%ebp),%eax
419faa:	56                   	push   %esi
419fab:	8b 75 1c             	mov    0x1c(%ebp),%esi
419fae:	57                   	push   %edi
419faf:	ff 75 18             	push   0x18(%ebp)
419fb2:	ff 75 14             	push   0x14(%ebp)
419fb5:	8d 7e 01             	lea    0x1(%esi),%edi
419fb8:	50                   	push   %eax
419fb9:	8b 45 08             	mov    0x8(%ebp),%eax
419fbc:	57                   	push   %edi
419fbd:	ff 70 04             	push   0x4(%eax)
419fc0:	ff 30                	push   (%eax)
419fc2:	e8 29 90 00 00       	call   0x422ff0
419fc7:	83 c9 ff             	or     $0xffffffff,%ecx
419fca:	83 c4 18             	add    $0x18,%esp
419fcd:	39 4d 10             	cmp    %ecx,0x10(%ebp)
419fd0:	74 17                	je     0x419fe9
419fd2:	8b 4d 10             	mov    0x10(%ebp),%ecx
419fd5:	33 c0                	xor    %eax,%eax
419fd7:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
419fdb:	0f 94 c0             	sete   %al
419fde:	2b c8                	sub    %eax,%ecx
419fe0:	33 c0                	xor    %eax,%eax
419fe2:	85 f6                	test   %esi,%esi
419fe4:	0f 9f c0             	setg   %al
419fe7:	2b c8                	sub    %eax,%ecx
419fe9:	8d 45 f4             	lea    -0xc(%ebp),%eax
419fec:	50                   	push   %eax
419fed:	57                   	push   %edi
419fee:	8b 7d 0c             	mov    0xc(%ebp),%edi
419ff1:	51                   	push   %ecx
419ff2:	33 c9                	xor    %ecx,%ecx
419ff4:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
419ff8:	0f 94 c1             	sete   %cl
419ffb:	33 c0                	xor    %eax,%eax
419ffd:	85 f6                	test   %esi,%esi
419fff:	0f 9f c0             	setg   %al
41a002:	03 cf                	add    %edi,%ecx
41a004:	03 c1                	add    %ecx,%eax
41a006:	50                   	push   %eax
41a007:	e8 fe 8e 00 00       	call   0x422f0a
41a00c:	83 c4 10             	add    $0x10,%esp
41a00f:	85 c0                	test   %eax,%eax
41a011:	74 05                	je     0x41a018
41a013:	c6 07 00             	movb   $0x0,(%edi)
41a016:	eb 1c                	jmp    0x41a034
41a018:	ff 75 28             	push   0x28(%ebp)
41a01b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a01e:	6a 00                	push   $0x0
41a020:	50                   	push   %eax
41a021:	ff 75 24             	push   0x24(%ebp)
41a024:	ff 75 20             	push   0x20(%ebp)
41a027:	56                   	push   %esi
41a028:	ff 75 10             	push   0x10(%ebp)
41a02b:	57                   	push   %edi
41a02c:	e8 09 00 00 00       	call   0x41a03a
41a031:	83 c4 20             	add    $0x20,%esp
41a034:	5f                   	pop    %edi
41a035:	5e                   	pop    %esi
41a036:	8b e5                	mov    %ebp,%esp
41a038:	5d                   	pop    %ebp
41a039:	c3                   	ret
41a03a:	8b ff                	mov    %edi,%edi
41a03c:	55                   	push   %ebp
41a03d:	8b ec                	mov    %esp,%ebp
41a03f:	83 ec 10             	sub    $0x10,%esp
41a042:	56                   	push   %esi
41a043:	57                   	push   %edi
41a044:	8b 7d 10             	mov    0x10(%ebp),%edi
41a047:	85 ff                	test   %edi,%edi
41a049:	7e 04                	jle    0x41a04f
41a04b:	8b c7                	mov    %edi,%eax
41a04d:	eb 02                	jmp    0x41a051
41a04f:	33 c0                	xor    %eax,%eax
41a051:	83 c0 09             	add    $0x9,%eax
41a054:	39 45 0c             	cmp    %eax,0xc(%ebp)
41a057:	77 17                	ja     0x41a070
41a059:	e8 0d aa ff ff       	call   0x414a6b
41a05e:	6a 22                	push   $0x22
41a060:	5e                   	pop    %esi
41a061:	89 30                	mov    %esi,(%eax)
41a063:	e8 7a 1c ff ff       	call   0x40bce2
41a068:	8b c6                	mov    %esi,%eax
41a06a:	5f                   	pop    %edi
41a06b:	5e                   	pop    %esi
41a06c:	8b e5                	mov    %ebp,%esp
41a06e:	5d                   	pop    %ebp
41a06f:	c3                   	ret
41a070:	53                   	push   %ebx
41a071:	ff 75 24             	push   0x24(%ebp)
41a074:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41a077:	e8 4c 27 ff ff       	call   0x40c7c8
41a07c:	8a 55 20             	mov    0x20(%ebp),%dl
41a07f:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a082:	84 d2                	test   %dl,%dl
41a084:	74 25                	je     0x41a0ab
41a086:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41a089:	33 c0                	xor    %eax,%eax
41a08b:	85 ff                	test   %edi,%edi
41a08d:	0f 9f c0             	setg   %al
41a090:	50                   	push   %eax
41a091:	33 c0                	xor    %eax,%eax
41a093:	83 39 2d             	cmpl   $0x2d,(%ecx)
41a096:	0f 94 c0             	sete   %al
41a099:	03 c3                	add    %ebx,%eax
41a09b:	50                   	push   %eax
41a09c:	ff 75 0c             	push   0xc(%ebp)
41a09f:	53                   	push   %ebx
41a0a0:	e8 04 04 00 00       	call   0x41a4a9
41a0a5:	8a 55 20             	mov    0x20(%ebp),%dl
41a0a8:	83 c4 10             	add    $0x10,%esp
41a0ab:	8b 45 1c             	mov    0x1c(%ebp),%eax
41a0ae:	8b f3                	mov    %ebx,%esi
41a0b0:	83 38 2d             	cmpl   $0x2d,(%eax)
41a0b3:	75 06                	jne    0x41a0bb
41a0b5:	c6 03 2d             	movb   $0x2d,(%ebx)
41a0b8:	8d 73 01             	lea    0x1(%ebx),%esi
41a0bb:	85 ff                	test   %edi,%edi
41a0bd:	7e 15                	jle    0x41a0d4
41a0bf:	8a 46 01             	mov    0x1(%esi),%al
41a0c2:	88 06                	mov    %al,(%esi)
41a0c4:	46                   	inc    %esi
41a0c5:	8b 45 f4             	mov    -0xc(%ebp),%eax
41a0c8:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
41a0ce:	8b 00                	mov    (%eax),%eax
41a0d0:	8a 00                	mov    (%eax),%al
41a0d2:	88 06                	mov    %al,(%esi)
41a0d4:	33 c0                	xor    %eax,%eax
41a0d6:	84 d2                	test   %dl,%dl
41a0d8:	0f 94 c0             	sete   %al
41a0db:	03 c7                	add    %edi,%eax
41a0dd:	03 f0                	add    %eax,%esi
41a0df:	83 c8 ff             	or     $0xffffffff,%eax
41a0e2:	39 45 0c             	cmp    %eax,0xc(%ebp)
41a0e5:	74 07                	je     0x41a0ee
41a0e7:	8b c3                	mov    %ebx,%eax
41a0e9:	2b c6                	sub    %esi,%eax
41a0eb:	03 45 0c             	add    0xc(%ebp),%eax
41a0ee:	68 6c cd 42 00       	push   $0x42cd6c
41a0f3:	50                   	push   %eax
41a0f4:	56                   	push   %esi
41a0f5:	e8 6b da ff ff       	call   0x417b65
41a0fa:	83 c4 0c             	add    $0xc,%esp
41a0fd:	5b                   	pop    %ebx
41a0fe:	85 c0                	test   %eax,%eax
41a100:	75 76                	jne    0x41a178
41a102:	8d 4e 02             	lea    0x2(%esi),%ecx
41a105:	38 45 14             	cmp    %al,0x14(%ebp)
41a108:	74 03                	je     0x41a10d
41a10a:	c6 06 45             	movb   $0x45,(%esi)
41a10d:	8b 55 1c             	mov    0x1c(%ebp),%edx
41a110:	8b 42 08             	mov    0x8(%edx),%eax
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