41cf75:	e8 46 49 ff ff       	call   0x4118c0
41cf7a:	8b 45 24             	mov    0x24(%ebp),%eax
41cf7d:	8b 40 0c             	mov    0xc(%eax),%eax
41cf80:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
41cf86:	8b 00                	mov    (%eax),%eax
41cf88:	8a 00                	mov    (%eax),%al
41cf8a:	88 06                	mov    %al,(%esi)
41cf8c:	0f b6 45 20          	movzbl 0x20(%ebp),%eax
41cf90:	83 f0 01             	xor    $0x1,%eax
41cf93:	03 c7                	add    %edi,%eax
41cf95:	03 f0                	add    %eax,%esi
41cf97:	83 c8 ff             	or     $0xffffffff,%eax
41cf9a:	39 45 0c             	cmp    %eax,0xc(%ebp)
41cf9d:	74 07                	je     0x41cfa6
41cf9f:	8b c3                	mov    %ebx,%eax
41cfa1:	2b c6                	sub    %esi,%eax
41cfa3:	03 45 0c             	add    0xc(%ebp),%eax
41cfa6:	68 48 3a 43 00       	push   $0x433a48
41cfab:	50                   	push   %eax
41cfac:	56                   	push   %esi
41cfad:	e8 23 ef ff ff       	call   0x41bed5
41cfb2:	83 c4 0c             	add    $0xc,%esp
41cfb5:	85 c0                	test   %eax,%eax
41cfb7:	75 75                	jne    0x41d02e
41cfb9:	8d 7e 02             	lea    0x2(%esi),%edi
41cfbc:	38 45 14             	cmp    %al,0x14(%ebp)
41cfbf:	74 03                	je     0x41cfc4
41cfc1:	c6 06 45             	movb   $0x45,(%esi)
41cfc4:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41cfc7:	8b 41 08             	mov    0x8(%ecx),%eax
41cfca:	80 38 30             	cmpb   $0x30,(%eax)
41cfcd:	74 3d                	je     0x41d00c
41cfcf:	8b 49 04             	mov    0x4(%ecx),%ecx
41cfd2:	83 e9 01             	sub    $0x1,%ecx
41cfd5:	79 06                	jns    0x41cfdd
41cfd7:	f7 d9                	neg    %ecx
41cfd9:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
41cfdd:	6a 64                	push   $0x64
41cfdf:	5b                   	pop    %ebx
41cfe0:	3b cb                	cmp    %ebx,%ecx
41cfe2:	7c 0f                	jl     0x41cff3
41cfe4:	8b c1                	mov    %ecx,%eax
41cfe6:	99                   	cltd
41cfe7:	f7 fb                	idiv   %ebx
41cfe9:	00 46 02             	add    %al,0x2(%esi)
41cfec:	8b c1                	mov    %ecx,%eax
41cfee:	99                   	cltd
41cfef:	f7 fb                	idiv   %ebx
41cff1:	8b ca                	mov    %edx,%ecx
41cff3:	6a 0a                	push   $0xa
41cff5:	5b                   	pop    %ebx
41cff6:	3b cb                	cmp    %ebx,%ecx
41cff8:	7c 0f                	jl     0x41d009
41cffa:	8b c1                	mov    %ecx,%eax
41cffc:	99                   	cltd
41cffd:	f7 fb                	idiv   %ebx
41cfff:	00 46 03             	add    %al,0x3(%esi)
41d002:	8b c1                	mov    %ecx,%eax
41d004:	99                   	cltd
41d005:	f7 fb                	idiv   %ebx
41d007:	8b ca                	mov    %edx,%ecx
41d009:	00 4e 04             	add    %cl,0x4(%esi)
41d00c:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
41d010:	5b                   	pop    %ebx
41d011:	75 14                	jne    0x41d027
41d013:	80 3f 30             	cmpb   $0x30,(%edi)
41d016:	75 0f                	jne    0x41d027
41d018:	6a 03                	push   $0x3
41d01a:	8d 47 01             	lea    0x1(%edi),%eax
41d01d:	50                   	push   %eax
41d01e:	57                   	push   %edi
41d01f:	e8 1c de fe ff       	call   0x40ae40
41d024:	83 c4 0c             	add    $0xc,%esp
41d027:	33 c0                	xor    %eax,%eax
41d029:	e9 f3 fe ff ff       	jmp    0x41cf21
41d02e:	33 c0                	xor    %eax,%eax
41d030:	50                   	push   %eax
41d031:	50                   	push   %eax
41d032:	50                   	push   %eax
41d033:	50                   	push   %eax
41d034:	50                   	push   %eax
41d035:	e8 e1 03 ff ff       	call   0x40d41b
41d03a:	cc                   	int3
41d03b:	8b ff                	mov    %edi,%edi
41d03d:	55                   	push   %ebp
41d03e:	8b ec                	mov    %esp,%ebp
41d040:	83 ec 0c             	sub    $0xc,%esp
41d043:	56                   	push   %esi
41d044:	57                   	push   %edi
41d045:	ff 75 18             	push   0x18(%ebp)
41d048:	33 c0                	xor    %eax,%eax
41d04a:	8d 7d f4             	lea    -0xc(%ebp),%edi
41d04d:	ff 75 14             	push   0x14(%ebp)
41d050:	ab                   	stos   %eax,%es:(%edi)
41d051:	ab                   	stos   %eax,%es:(%edi)
41d052:	ab                   	stos   %eax,%es:(%edi)
41d053:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d056:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41d059:	50                   	push   %eax
41d05a:	8b 45 08             	mov    0x8(%ebp),%eax
41d05d:	6a 00                	push   $0x0
41d05f:	57                   	push   %edi
41d060:	ff 70 04             	push   0x4(%eax)
41d063:	ff 30                	push   (%eax)
41d065:	e8 5c 96 00 00       	call   0x4266c6
41d06a:	8b 75 f8             	mov    -0x8(%ebp),%esi
41d06d:	83 c9 ff             	or     $0xffffffff,%ecx
41d070:	83 c4 1c             	add    $0x1c,%esp
41d073:	03 f7                	add    %edi,%esi
41d075:	8b d0                	mov    %eax,%edx
41d077:	39 4d 10             	cmp    %ecx,0x10(%ebp)
41d07a:	74 0e                	je     0x41d08a
41d07c:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d07f:	33 c0                	xor    %eax,%eax
41d081:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
41d085:	0f 94 c0             	sete   %al
41d088:	2b c8                	sub    %eax,%ecx
41d08a:	ff 75 24             	push   0x24(%ebp)
41d08d:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d090:	ff 75 20             	push   0x20(%ebp)
41d093:	52                   	push   %edx
41d094:	50                   	push   %eax
41d095:	33 c0                	xor    %eax,%eax
41d097:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
41d09b:	56                   	push   %esi
41d09c:	8b 75 0c             	mov    0xc(%ebp),%esi
41d09f:	0f 94 c0             	sete   %al
41d0a2:	51                   	push   %ecx
41d0a3:	03 c6                	add    %esi,%eax
41d0a5:	50                   	push   %eax
41d0a6:	e8 21 95 00 00       	call   0x4265cc
41d0ab:	83 c4 1c             	add    $0x1c,%esp
41d0ae:	85 c0                	test   %eax,%eax
41d0b0:	74 05                	je     0x41d0b7
41d0b2:	c6 06 00             	movb   $0x0,(%esi)
41d0b5:	eb 16                	jmp    0x41d0cd
41d0b7:	ff 75 24             	push   0x24(%ebp)
41d0ba:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d0bd:	6a 00                	push   $0x0
41d0bf:	50                   	push   %eax
41d0c0:	57                   	push   %edi
41d0c1:	ff 75 10             	push   0x10(%ebp)
41d0c4:	56                   	push   %esi
41d0c5:	e8 07 00 00 00       	call   0x41d0d1
41d0ca:	83 c4 18             	add    $0x18,%esp
41d0cd:	5f                   	pop    %edi
41d0ce:	5e                   	pop    %esi
41d0cf:	c9                   	leave
41d0d0:	c3                   	ret
41d0d1:	8b ff                	mov    %edi,%edi
41d0d3:	55                   	push   %ebp
41d0d4:	8b ec                	mov    %esp,%ebp
41d0d6:	51                   	push   %ecx
41d0d7:	53                   	push   %ebx
41d0d8:	8b 5d 14             	mov    0x14(%ebp),%ebx
41d0db:	33 d2                	xor    %edx,%edx
41d0dd:	56                   	push   %esi
41d0de:	8b 75 08             	mov    0x8(%ebp),%esi
41d0e1:	57                   	push   %edi
41d0e2:	8b 4b 04             	mov    0x4(%ebx),%ecx
41d0e5:	8b 7d 10             	mov    0x10(%ebp),%edi
41d0e8:	49                   	dec    %ecx
41d0e9:	38 55 18             	cmp    %dl,0x18(%ebp)
41d0ec:	74 14                	je     0x41d102
41d0ee:	3b cf                	cmp    %edi,%ecx
41d0f0:	75 10                	jne    0x41d102
41d0f2:	33 c0                	xor    %eax,%eax
41d0f4:	83 3b 2d             	cmpl   $0x2d,(%ebx)
41d0f7:	0f 94 c0             	sete   %al
41d0fa:	03 c1                	add    %ecx,%eax
41d0fc:	66 c7 04 30 30 00    	movw   $0x30,(%eax,%esi,1)
41d102:	83 3b 2d             	cmpl   $0x2d,(%ebx)
41d105:	8b ce                	mov    %esi,%ecx
41d107:	89 75 fc             	mov    %esi,-0x4(%ebp)
41d10a:	75 09                	jne    0x41d115
41d10c:	8d 4e 01             	lea    0x1(%esi),%ecx
41d10f:	c6 06 2d             	movb   $0x2d,(%esi)
41d112:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41d115:	8b 43 04             	mov    0x4(%ebx),%eax
41d118:	85 c0                	test   %eax,%eax
41d11a:	7f 2e                	jg     0x41d14a
41d11c:	75 0a                	jne    0x41d128
41d11e:	8b 43 08             	mov    0x8(%ebx),%eax
41d121:	80 38 30             	cmpb   $0x30,(%eax)
41d124:	75 02                	jne    0x41d128
41d126:	b2 01                	mov    $0x1,%dl
41d128:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41d12c:	74 04                	je     0x41d132
41d12e:	84 d2                	test   %dl,%dl
41d130:	75 12                	jne    0x41d144
41d132:	6a 01                	push   $0x1
41d134:	51                   	push   %ecx
41d135:	ff 75 0c             	push   0xc(%ebp)
41d138:	56                   	push   %esi
41d139:	e8 e5 01 00 00       	call   0x41d323
41d13e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d141:	83 c4 10             	add    $0x10,%esp
41d144:	33 c0                	xor    %eax,%eax
41d146:	c6 01 30             	movb   $0x30,(%ecx)
41d149:	40                   	inc    %eax
41d14a:	03 c1                	add    %ecx,%eax
41d14c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d14f:	85 ff                	test   %edi,%edi
41d151:	7e 65                	jle    0x41d1b8
41d153:	6a 01                	push   $0x1
41d155:	50                   	push   %eax
41d156:	ff 75 0c             	push   0xc(%ebp)
41d159:	56                   	push   %esi
41d15a:	e8 c4 01 00 00       	call   0x41d323
41d15f:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d162:	83 c4 10             	add    $0x10,%esp
41d165:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41d169:	75 0a                	jne    0x41d175
41d16b:	8b c8                	mov    %eax,%ecx
41d16d:	e8 4e 47 ff ff       	call   0x4118c0
41d172:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d175:	8b 40 0c             	mov    0xc(%eax),%eax
41d178:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d17b:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
41d181:	8b 00                	mov    (%eax),%eax
41d183:	8a 00                	mov    (%eax),%al
41d185:	88 01                	mov    %al,(%ecx)
41d187:	41                   	inc    %ecx
41d188:	8b 43 04             	mov    0x4(%ebx),%eax
41d18b:	85 c0                	test   %eax,%eax
41d18d:	79 29                	jns    0x41d1b8
41d18f:	f7 d8                	neg    %eax
41d191:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
41d195:	75 04                	jne    0x41d19b
41d197:	3b c7                	cmp    %edi,%eax
41d199:	7d 02                	jge    0x41d19d
41d19b:	8b f8                	mov    %eax,%edi
41d19d:	57                   	push   %edi
41d19e:	51                   	push   %ecx
41d19f:	ff 75 0c             	push   0xc(%ebp)
41d1a2:	56                   	push   %esi
41d1a3:	e8 7b 01 00 00       	call   0x41d323
41d1a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d1ab:	57                   	push   %edi
41d1ac:	40                   	inc    %eax
41d1ad:	6a 30                	push   $0x30
41d1af:	50                   	push   %eax
41d1b0:	e8 0b e2 fe ff       	call   0x40b3c0
41d1b5:	83 c4 1c             	add    $0x1c,%esp
41d1b8:	5f                   	pop    %edi
41d1b9:	5e                   	pop    %esi
41d1ba:	33 c0                	xor    %eax,%eax
41d1bc:	5b                   	pop    %ebx
41d1bd:	c9                   	leave
41d1be:	c3                   	ret
41d1bf:	8b ff                	mov    %edi,%edi
41d1c1:	55                   	push   %ebp
41d1c2:	8b ec                	mov    %esp,%ebp
41d1c4:	83 ec 14             	sub    $0x14,%esp
41d1c7:	53                   	push   %ebx
41d1c8:	56                   	push   %esi
41d1c9:	57                   	push   %edi
41d1ca:	ff 75 18             	push   0x18(%ebp)
41d1cd:	33 c0                	xor    %eax,%eax
41d1cf:	8d 7d ec             	lea    -0x14(%ebp),%edi
41d1d2:	ff 75 14             	push   0x14(%ebp)
41d1d5:	ab                   	stos   %eax,%es:(%edi)
41d1d6:	ab                   	stos   %eax,%es:(%edi)
41d1d7:	ab                   	stos   %eax,%es:(%edi)
41d1d8:	8d 45 ec             	lea    -0x14(%ebp),%eax
41d1db:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41d1de:	50                   	push   %eax
41d1df:	8b 45 08             	mov    0x8(%ebp),%eax
41d1e2:	6a 00                	push   $0x0
41d1e4:	57                   	push   %edi
41d1e5:	ff 70 04             	push   0x4(%eax)
41d1e8:	ff 30                	push   (%eax)
41d1ea:	e8 d7 94 00 00       	call   0x4266c6
41d1ef:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41d1f2:	33 d2                	xor    %edx,%edx
41d1f4:	83 c4 1c             	add    $0x1c,%esp
41d1f7:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d1fa:	83 7d ec 2d          	cmpl   $0x2d,-0x14(%ebp)
41d1fe:	8b 45 f0             	mov    -0x10(%ebp),%eax
41d201:	0f 94 c2             	sete   %dl
41d204:	48                   	dec    %eax
41d205:	89 45 f8             	mov    %eax,-0x8(%ebp)
41d208:	83 c8 ff             	or     $0xffffffff,%eax
41d20b:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
41d20e:	39 45 10             	cmp    %eax,0x10(%ebp)
41d211:	74 05                	je     0x41d218
41d213:	8b 45 10             	mov    0x10(%ebp),%eax
41d216:	2b c2                	sub    %edx,%eax
41d218:	ff 75 2c             	push   0x2c(%ebp)
41d21b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41d21e:	ff 75 28             	push   0x28(%ebp)
41d221:	ff 75 fc             	push   -0x4(%ebp)
41d224:	51                   	push   %ecx
41d225:	57                   	push   %edi
41d226:	50                   	push   %eax
41d227:	56                   	push   %esi
41d228:	e8 9f 93 00 00       	call   0x4265cc
41d22d:	83 c4 1c             	add    $0x1c,%esp
41d230:	85 c0                	test   %eax,%eax
41d232:	74 05                	je     0x41d239
41d234:	c6 03 00             	movb   $0x0,(%ebx)
41d237:	eb 50                	jmp    0x41d289
41d239:	8b 45 f0             	mov    -0x10(%ebp),%eax
41d23c:	48                   	dec    %eax
41d23d:	83 f8 fc             	cmp    $0xfffffffc,%eax
41d240:	7c 2b                	jl     0x41d26d
41d242:	3b c7                	cmp    %edi,%eax
41d244:	7d 27                	jge    0x41d26d
41d246:	39 45 f8             	cmp    %eax,-0x8(%ebp)
41d249:	7d 0a                	jge    0x41d255
41d24b:	8a 06                	mov    (%esi),%al
41d24d:	46                   	inc    %esi
41d24e:	84 c0                	test   %al,%al
41d250:	75 f9                	jne    0x41d24b
41d252:	88 46 fe             	mov    %al,-0x2(%esi)
41d255:	ff 75 2c             	push   0x2c(%ebp)
41d258:	8d 45 ec             	lea    -0x14(%ebp),%eax
41d25b:	6a 01                	push   $0x1
41d25d:	50                   	push   %eax
41d25e:	57                   	push   %edi
41d25f:	ff 75 10             	push   0x10(%ebp)
41d262:	53                   	push   %ebx
41d263:	e8 69 fe ff ff       	call   0x41d0d1
41d268:	83 c4 18             	add    $0x18,%esp
41d26b:	eb 1c                	jmp    0x41d289
41d26d:	ff 75 2c             	push   0x2c(%ebp)
41d270:	8d 45 ec             	lea    -0x14(%ebp),%eax
41d273:	6a 01                	push   $0x1
41d275:	50                   	push   %eax
41d276:	ff 75 24             	push   0x24(%ebp)
41d279:	ff 75 20             	push   0x20(%ebp)
41d27c:	57                   	push   %edi
41d27d:	ff 75 10             	push   0x10(%ebp)
41d280:	53                   	push   %ebx
41d281:	e8 62 fc ff ff       	call   0x41cee8
41d286:	83 c4 20             	add    $0x20,%esp
41d289:	5f                   	pop    %edi
41d28a:	5e                   	pop    %esi
41d28b:	5b                   	pop    %ebx
41d28c:	c9                   	leave
41d28d:	c3                   	ret
41d28e:	8b ff                	mov    %edi,%edi
41d290:	55                   	push   %ebp
41d291:	8b ec                	mov    %esp,%ebp
41d293:	51                   	push   %ecx
41d294:	8a 4d 0c             	mov    0xc(%ebp),%cl
41d297:	8b 55 14             	mov    0x14(%ebp),%edx
41d29a:	0f b6 c1             	movzbl %cl,%eax
41d29d:	83 c0 04             	add    $0x4,%eax
41d2a0:	3b d0                	cmp    %eax,%edx