41817e:	75 f9                	jne    0x418179
418180:	ff 46 08             	incl   0x8(%esi)
418183:	b0 01                	mov    $0x1,%al
418185:	5e                   	pop    %esi
418186:	5b                   	pop    %ebx
418187:	c9                   	leave
418188:	c3                   	ret
418189:	8b ff                	mov    %edi,%edi
41818b:	55                   	push   %ebp
41818c:	8b ec                	mov    %esp,%ebp
41818e:	56                   	push   %esi
41818f:	0f b6 75 08          	movzbl 0x8(%ebp),%esi
418193:	8b d6                	mov    %esi,%edx
418195:	c1 ea 03             	shr    $0x3,%edx
418198:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
41819c:	81 e6 07 00 00 80    	and    $0x80000007,%esi
4181a2:	79 05                	jns    0x4181a9
4181a4:	4e                   	dec    %esi
4181a5:	83 ce f8             	or     $0xfffffff8,%esi
4181a8:	46                   	inc    %esi
4181a9:	0f ab f0             	bts    %esi,%eax
4181ac:	88 04 0a             	mov    %al,(%edx,%ecx,1)
4181af:	5e                   	pop    %esi
4181b0:	5d                   	pop    %ebp
4181b1:	c2 04 00             	ret    $0x4
4181b4:	8b 41 20             	mov    0x20(%ecx),%eax
4181b7:	83 f8 02             	cmp    $0x2,%eax
4181ba:	75 05                	jne    0x4181c1
4181bc:	c6 41 24 00          	movb   $0x0,0x24(%ecx)
4181c0:	c3                   	ret
4181c1:	83 f8 03             	cmp    $0x3,%eax
4181c4:	74 0a                	je     0x4181d0
4181c6:	83 f8 04             	cmp    $0x4,%eax
4181c9:	74 05                	je     0x4181d0
4181cb:	83 f8 08             	cmp    $0x8,%eax
4181ce:	75 04                	jne    0x4181d4
4181d0:	c6 41 24 01          	movb   $0x1,0x24(%ecx)
4181d4:	c3                   	ret
4181d5:	8b ff                	mov    %edi,%edi
4181d7:	55                   	push   %ebp
4181d8:	8b ec                	mov    %esp,%ebp
4181da:	8b 45 08             	mov    0x8(%ebp),%eax
4181dd:	85 c0                	test   %eax,%eax
4181df:	74 12                	je     0x4181f3
4181e1:	83 f8 03             	cmp    $0x3,%eax
4181e4:	74 09                	je     0x4181ef
4181e6:	83 f8 08             	cmp    $0x8,%eax
4181e9:	74 04                	je     0x4181ef
4181eb:	33 c0                	xor    %eax,%eax
4181ed:	5d                   	pop    %ebp
4181ee:	c3                   	ret
4181ef:	6a 08                	push   $0x8
4181f1:	eb 02                	jmp    0x4181f5
4181f3:	6a 04                	push   $0x4
4181f5:	58                   	pop    %eax
4181f6:	5d                   	pop    %ebp
4181f7:	c3                   	ret
4181f8:	8b ff                	mov    %edi,%edi
4181fa:	55                   	push   %ebp
4181fb:	8b ec                	mov    %esp,%ebp
4181fd:	8b 45 08             	mov    0x8(%ebp),%eax
418200:	83 f8 0a             	cmp    $0xa,%eax
418203:	77 20                	ja     0x418225
418205:	0f b6 80 40 82 41 00 	movzbl 0x418240(%eax),%eax
41820c:	ff 24 85 2c 82 41 00 	jmp    *0x41822c(,%eax,4)
418213:	33 c0                	xor    %eax,%eax
418215:	40                   	inc    %eax
418216:	5d                   	pop    %ebp
418217:	c3                   	ret
418218:	6a 02                	push   $0x2
41821a:	58                   	pop    %eax
41821b:	5d                   	pop    %ebp
41821c:	c3                   	ret
41821d:	6a 04                	push   $0x4
41821f:	eb f9                	jmp    0x41821a
418221:	6a 08                	push   $0x8
418223:	eb f5                	jmp    0x41821a
418225:	33 c0                	xor    %eax,%eax
418227:	5d                   	pop    %ebp
418228:	c3                   	ret
418229:	8d 49 00             	lea    0x0(%ecx),%ecx
41822c:	1d 82 41 00 13       	sbb    $0x13004182,%eax
418231:	82 41 00 18          	addb   $0x18,0x0(%ecx)
418235:	82 41 00 21          	addb   $0x21,0x0(%ecx)
418239:	82 41 00 25          	addb   $0x25,0x0(%ecx)
41823d:	82 41 00 00          	addb   $0x0,0x0(%ecx)
418241:	01 02                	add    %eax,(%edx)
418243:	00 03                	add    %al,(%ebx)
418245:	03 00                	add    (%eax),%eax
418247:	00 04 00             	add    %al,(%eax,%eax,1)
41824a:	03 8b ff 55 8b ec    	add    -0x1374aa01(%ebx),%ecx
418250:	8b 51 10             	mov    0x10(%ecx),%edx
418253:	8b 41 08             	mov    0x8(%ecx),%eax
418256:	83 c2 ff             	add    $0xffffffff,%edx
418259:	56                   	push   %esi
41825a:	8b 71 14             	mov    0x14(%ecx),%esi
41825d:	83 d6 ff             	adc    $0xffffffff,%esi
418260:	89 51 10             	mov    %edx,0x10(%ecx)
418263:	0b 41 0c             	or     0xc(%ecx),%eax
418266:	89 71 14             	mov    %esi,0x14(%ecx)
418269:	74 0c                	je     0x418277
41826b:	3b 71 0c             	cmp    0xc(%ecx),%esi
41826e:	77 1d                	ja     0x41828d
418270:	72 05                	jb     0x418277
418272:	3b 51 08             	cmp    0x8(%ecx),%edx
418275:	77 16                	ja     0x41828d
418277:	8a 45 08             	mov    0x8(%ebp),%al
41827a:	84 c0                	test   %al,%al
41827c:	74 0f                	je     0x41828d
41827e:	3c ff                	cmp    $0xff,%al
418280:	74 0b                	je     0x41828d
418282:	8b 09                	mov    (%ecx),%ecx
418284:	0f be c0             	movsbl %al,%eax
418287:	50                   	push   %eax
418288:	e8 05 00 00 00       	call   0x418292
41828d:	5e                   	pop    %esi
41828e:	5d                   	pop    %ebp
41828f:	c2 04 00             	ret    $0x4
418292:	8b ff                	mov    %edi,%edi
418294:	55                   	push   %ebp
418295:	8b ec                	mov    %esp,%ebp
418297:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
41829b:	74 0f                	je     0x4182ac
41829d:	ff 31                	push   (%ecx)
41829f:	ff 49 04             	decl   0x4(%ecx)
4182a2:	ff 75 08             	push   0x8(%ebp)
4182a5:	e8 83 81 00 00       	call   0x42042d
4182aa:	59                   	pop    %ecx
4182ab:	59                   	pop    %ecx
4182ac:	5d                   	pop    %ebp
4182ad:	c2 04 00             	ret    $0x4
4182b0:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
4182b4:	75 13                	jne    0x4182c9
4182b6:	e8 b6 43 00 00       	call   0x41c671
4182bb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4182c1:	e8 28 51 ff ff       	call   0x40d3ee
4182c6:	32 c0                	xor    %al,%al
4182c8:	c3                   	ret
4182c9:	b0 01                	mov    $0x1,%al
4182cb:	c3                   	ret
4182cc:	83 39 00             	cmpl   $0x0,(%ecx)
4182cf:	75 13                	jne    0x4182e4
4182d1:	e8 9b 43 00 00       	call   0x41c671
4182d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4182dc:	e8 0d 51 ff ff       	call   0x40d3ee
4182e1:	32 c0                	xor    %al,%al
4182e3:	c3                   	ret
4182e4:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
4182e8:	74 e7                	je     0x4182d1
4182ea:	b0 01                	mov    $0x1,%al
4182ec:	c3                   	ret
4182ed:	8b 01                	mov    (%ecx),%eax
4182ef:	85 c0                	test   %eax,%eax
4182f1:	75 13                	jne    0x418306
4182f3:	e8 79 43 00 00       	call   0x41c671
4182f8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4182fe:	e8 eb 50 ff ff       	call   0x40d3ee
418303:	32 c0                	xor    %al,%al
418305:	c3                   	ret
418306:	50                   	push   %eax
418307:	e8 93 96 ff ff       	call   0x41199f
41830c:	59                   	pop    %ecx
41830d:	c3                   	ret
41830e:	8b ff                	mov    %edi,%edi
418310:	55                   	push   %ebp
418311:	8b ec                	mov    %esp,%ebp
418313:	51                   	push   %ecx
418314:	51                   	push   %ecx
418315:	53                   	push   %ebx
418316:	8a 5d 18             	mov    0x18(%ebp),%bl
418319:	33 c0                	xor    %eax,%eax
41831b:	56                   	push   %esi
41831c:	8b f1                	mov    %ecx,%esi
41831e:	88 5d fc             	mov    %bl,-0x4(%ebp)
418321:	88 45 fd             	mov    %al,-0x3(%ebp)
418324:	e8 93 5b 00 00       	call   0x41debc
418329:	0f b6 d3             	movzbl %bl,%edx
41832c:	33 c9                	xor    %ecx,%ecx
41832e:	66 39 0c 50          	cmp    %cx,(%eax,%edx,2)
418332:	7d 14                	jge    0x418348
418334:	ff 76 08             	push   0x8(%esi)
418337:	e8 ce 7c 00 00       	call   0x42000a
41833c:	59                   	pop    %ecx
41833d:	83 f8 ff             	cmp    $0xffffffff,%eax
418340:	74 03                	je     0x418345
418342:	ff 46 0c             	incl   0xc(%esi)
418345:	88 45 fd             	mov    %al,-0x3(%ebp)
418348:	6a 3f                	push   $0x3f
41834a:	58                   	pop    %eax
41834b:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
41834f:	8b 46 60             	mov    0x60(%esi),%eax
418352:	50                   	push   %eax
418353:	8b 00                	mov    (%eax),%eax
418355:	ff 70 04             	push   0x4(%eax)
418358:	8d 45 fc             	lea    -0x4(%ebp),%eax
41835b:	50                   	push   %eax
41835c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41835f:	50                   	push   %eax
418360:	e8 a3 54 00 00       	call   0x41d808
418365:	8b 55 10             	mov    0x10(%ebp),%edx
418368:	83 c4 10             	add    $0x10,%esp
41836b:	66 0f be cb          	movsbw %bl,%cx
41836f:	8b 02                	mov    (%edx),%eax
418371:	5e                   	pop    %esi
418372:	5b                   	pop    %ebx
418373:	66 89 08             	mov    %cx,(%eax)
418376:	8b 45 14             	mov    0x14(%ebp),%eax
418379:	83 02 02             	addl   $0x2,(%edx)
41837c:	ff 08                	decl   (%eax)
41837e:	b0 01                	mov    $0x1,%al
418380:	c9                   	leave
418381:	c2 14 00             	ret    $0x14
418384:	8b ff                	mov    %edi,%edi
418386:	55                   	push   %ebp
418387:	8b ec                	mov    %esp,%ebp
418389:	8b 51 64             	mov    0x64(%ecx),%edx
41838c:	56                   	push   %esi
41838d:	8d 42 04             	lea    0x4(%edx),%eax
418390:	89 41 64             	mov    %eax,0x64(%ecx)
418393:	8b 32                	mov    (%edx),%esi
418395:	85 f6                	test   %esi,%esi
418397:	75 14                	jne    0x4183ad
418399:	e8 d3 42 00 00       	call   0x41c671
41839e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4183a4:	e8 45 50 ff ff       	call   0x40d3ee
4183a9:	32 c0                	xor    %al,%al
4183ab:	eb 41                	jmp    0x4183ee
4183ad:	83 c1 10             	add    $0x10,%ecx
4183b0:	e8 95 f5 ff ff       	call   0x41794a
4183b5:	83 e8 01             	sub    $0x1,%eax
4183b8:	74 2d                	je     0x4183e7
4183ba:	83 e8 01             	sub    $0x1,%eax
4183bd:	74 1f                	je     0x4183de
4183bf:	48                   	dec    %eax
4183c0:	83 e8 01             	sub    $0x1,%eax
4183c3:	74 12                	je     0x4183d7
4183c5:	83 e8 04             	sub    $0x4,%eax
4183c8:	75 df                	jne    0x4183a9
4183ca:	8b 45 08             	mov    0x8(%ebp),%eax
4183cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4183d0:	89 06                	mov    %eax,(%esi)
4183d2:	89 4e 04             	mov    %ecx,0x4(%esi)
4183d5:	eb 15                	jmp    0x4183ec
4183d7:	8b 45 08             	mov    0x8(%ebp),%eax
4183da:	89 06                	mov    %eax,(%esi)
4183dc:	eb 0e                	jmp    0x4183ec
4183de:	66 8b 45 08          	mov    0x8(%ebp),%ax
4183e2:	66 89 06             	mov    %ax,(%esi)
4183e5:	eb 05                	jmp    0x4183ec
4183e7:	8a 45 08             	mov    0x8(%ebp),%al
4183ea:	88 06                	mov    %al,(%esi)
4183ec:	b0 01                	mov    $0x1,%al
4183ee:	5e                   	pop    %esi
4183ef:	5d                   	pop    %ebp
4183f0:	c2 08 00             	ret    $0x8
4183f3:	8b ff                	mov    %edi,%edi
4183f5:	55                   	push   %ebp
4183f6:	8b ec                	mov    %esp,%ebp
4183f8:	83 ec 38             	sub    $0x38,%esp
4183fb:	8b 45 1c             	mov    0x1c(%ebp),%eax
4183fe:	8b 55 10             	mov    0x10(%ebp),%edx
418401:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418404:	89 45 ec             	mov    %eax,-0x14(%ebp)
418407:	8b 45 18             	mov    0x18(%ebp),%eax
41840a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41840d:	8b 45 08             	mov    0x8(%ebp),%eax
418410:	89 55 f4             	mov    %edx,-0xc(%ebp)
418413:	89 45 dc             	mov    %eax,-0x24(%ebp)
418416:	89 4d e0             	mov    %ecx,-0x20(%ebp)
418419:	56                   	push   %esi
41841a:	8b 75 14             	mov    0x14(%ebp),%esi
41841d:	89 75 f0             	mov    %esi,-0x10(%ebp)
418420:	85 d2                	test   %edx,%edx
418422:	75 15                	jne    0x418439
418424:	e8 48 42 00 00       	call   0x41c671
418429:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41842f:	e8 ba 4f ff ff       	call   0x40d3ee
418434:	83 c8 ff             	or     $0xffffffff,%eax
418437:	eb 3c                	jmp    0x418475
418439:	85 f6                	test   %esi,%esi
41843b:	74 e7                	je     0x418424
41843d:	8d 45 f8             	lea    -0x8(%ebp),%eax
418440:	89 55 e8             	mov    %edx,-0x18(%ebp)
418443:	89 45 c8             	mov    %eax,-0x38(%ebp)
418446:	8d 4d ff             	lea    -0x1(%ebp),%ecx
418449:	8d 45 f4             	lea    -0xc(%ebp),%eax
41844c:	89 55 e4             	mov    %edx,-0x1c(%ebp)
41844f:	89 45 cc             	mov    %eax,-0x34(%ebp)
418452:	8d 45 dc             	lea    -0x24(%ebp),%eax
418455:	89 45 d0             	mov    %eax,-0x30(%ebp)
418458:	8d 45 f0             	lea    -0x10(%ebp),%eax
41845b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41845e:	8d 45 ec             	lea    -0x14(%ebp),%eax
418461:	89 45 d8             	mov    %eax,-0x28(%ebp)
418464:	8d 45 e8             	lea    -0x18(%ebp),%eax
418467:	50                   	push   %eax
418468:	8d 45 c8             	lea    -0x38(%ebp),%eax
41846b:	50                   	push   %eax
41846c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41846f:	50                   	push   %eax
418470:	e8 1e b5 ff ff       	call   0x413993
418475:	5e                   	pop    %esi
418476:	c9                   	leave
418477:	c3                   	ret
418478:	8b ff                	mov    %edi,%edi
41847a:	55                   	push   %ebp
41847b:	8b ec                	mov    %esp,%ebp
41847d:	56                   	push   %esi
41847e:	8b 75 14             	mov    0x14(%ebp),%esi
418481:	85 f6                	test   %esi,%esi
418483:	75 04                	jne    0x418489
418485:	33 c0                	xor    %eax,%eax
418487:	eb 6d                	jmp    0x4184f6
418489:	8b 45 08             	mov    0x8(%ebp),%eax
41848c:	85 c0                	test   %eax,%eax
41848e:	75 13                	jne    0x4184a3
418490:	e8 dc 41 00 00       	call   0x41c671
418495:	6a 16                	push   $0x16
418497:	5e                   	pop    %esi
418498:	89 30                	mov    %esi,(%eax)
41849a:	e8 4f 4f ff ff       	call   0x40d3ee
41849f:	8b c6                	mov    %esi,%eax
4184a1:	eb 53                	jmp    0x4184f6
4184a3:	57                   	push   %edi
4184a4:	8b 7d 10             	mov    0x10(%ebp),%edi
4184a7:	85 ff                	test   %edi,%edi
4184a9:	74 14                	je     0x4184bf
4184ab:	39 75 0c             	cmp    %esi,0xc(%ebp)
4184ae:	72 0f                	jb     0x4184bf
4184b0:	56                   	push   %esi
4184b1:	57                   	push   %edi
4184b2:	50                   	push   %eax
4184b3:	e8 88 29 ff ff       	call   0x40ae40
4184b8:	83 c4 0c             	add    $0xc,%esp
4184bb:	33 c0                	xor    %eax,%eax
4184bd:	eb 36                	jmp    0x4184f5
4184bf:	ff 75 0c             	push   0xc(%ebp)
4184c2:	6a 00                	push   $0x0
4184c4:	50                   	push   %eax
4184c5:	e8 f6 2e ff ff       	call   0x40b3c0
4184ca:	83 c4 0c             	add    $0xc,%esp
4184cd:	85 ff                	test   %edi,%edi
4184cf:	75 09                	jne    0x4184da
4184d1:	e8 9b 41 00 00       	call   0x41c671
4184d6:	6a 16                	push   $0x16
4184d8:	eb 0c                	jmp    0x4184e6
4184da:	39 75 0c             	cmp    %esi,0xc(%ebp)
4184dd:	73 13                	jae    0x4184f2
4184df:	e8 8d 41 00 00       	call   0x41c671
4184e4:	6a 22                	push   $0x22