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
4184e6:	5e                   	pop    %esi
4184e7:	89 30                	mov    %esi,(%eax)
4184e9:	e8 00 4f ff ff       	call   0x40d3ee
4184ee:	8b c6                	mov    %esi,%eax
4184f0:	eb 03                	jmp    0x4184f5
4184f2:	6a 16                	push   $0x16
4184f4:	58                   	pop    %eax
4184f5:	5f                   	pop    %edi
4184f6:	5e                   	pop    %esi
4184f7:	5d                   	pop    %ebp
4184f8:	c3                   	ret
4184f9:	8b ff                	mov    %edi,%edi
4184fb:	55                   	push   %ebp
4184fc:	8b ec                	mov    %esp,%ebp
4184fe:	56                   	push   %esi
4184ff:	8b 75 08             	mov    0x8(%ebp),%esi
418502:	57                   	push   %edi
418503:	85 f6                	test   %esi,%esi
418505:	75 1a                	jne    0x418521
418507:	8b 75 0c             	mov    0xc(%ebp),%esi
41850a:	8b ce                	mov    %esi,%ecx
41850c:	e8 f6 00 00 00       	call   0x418607
418511:	33 ff                	xor    %edi,%edi
418513:	89 7e 08             	mov    %edi,0x8(%esi)
418516:	89 7e 0c             	mov    %edi,0xc(%esi)
418519:	89 7e 10             	mov    %edi,0x10(%esi)
41851c:	e9 84 00 00 00       	jmp    0x4185a5
418521:	33 ff                	xor    %edi,%edi
418523:	80 3e 00             	cmpb   $0x0,(%esi)
418526:	75 1f                	jne    0x418547
418528:	8b 75 0c             	mov    0xc(%ebp),%esi
41852b:	39 7e 0c             	cmp    %edi,0xc(%esi)
41852e:	75 0d                	jne    0x41853d
418530:	6a 01                	push   $0x1
418532:	8b ce                	mov    %esi,%ecx
418534:	e8 e8 00 00 00       	call   0x418621
418539:	85 c0                	test   %eax,%eax
41853b:	75 6a                	jne    0x4185a7
41853d:	8b 46 08             	mov    0x8(%esi),%eax
418540:	33 c9                	xor    %ecx,%ecx
418542:	66 89 08             	mov    %cx,(%eax)
418545:	eb d2                	jmp    0x418519
418547:	57                   	push   %edi
418548:	57                   	push   %edi
418549:	6a ff                	push   $0xffffffff
41854b:	56                   	push   %esi
41854c:	6a 09                	push   $0x9
41854e:	ff 75 14             	push   0x14(%ebp)
418551:	e8 52 82 00 00       	call   0x4207a8
418556:	83 c4 18             	add    $0x18,%esp
418559:	85 c0                	test   %eax,%eax
41855b:	75 16                	jne    0x418573
41855d:	ff 15 08 11 43 00    	call   *0x431108
418563:	50                   	push   %eax
418564:	e8 ae 40 00 00       	call   0x41c617
418569:	59                   	pop    %ecx
41856a:	e8 02 41 00 00       	call   0x41c671
41856f:	8b 00                	mov    (%eax),%eax
418571:	eb 34                	jmp    0x4185a7
418573:	8b 7d 0c             	mov    0xc(%ebp),%edi
418576:	3b 47 0c             	cmp    0xc(%edi),%eax
418579:	76 0c                	jbe    0x418587
41857b:	50                   	push   %eax
41857c:	8b cf                	mov    %edi,%ecx
41857e:	e8 9e 00 00 00       	call   0x418621
418583:	85 c0                	test   %eax,%eax
418585:	75 20                	jne    0x4185a7
418587:	ff 77 0c             	push   0xc(%edi)
41858a:	ff 77 08             	push   0x8(%edi)
41858d:	6a ff                	push   $0xffffffff
41858f:	56                   	push   %esi
418590:	6a 09                	push   $0x9
418592:	ff 75 14             	push   0x14(%ebp)
418595:	e8 0e 82 00 00       	call   0x4207a8
41859a:	83 c4 18             	add    $0x18,%esp
41859d:	85 c0                	test   %eax,%eax
41859f:	74 bc                	je     0x41855d
4185a1:	48                   	dec    %eax
4185a2:	89 47 10             	mov    %eax,0x10(%edi)
4185a5:	33 c0                	xor    %eax,%eax
4185a7:	5f                   	pop    %edi
4185a8:	5e                   	pop    %esi
4185a9:	5d                   	pop    %ebp
4185aa:	c3                   	ret
4185ab:	8b ff                	mov    %edi,%edi
4185ad:	55                   	push   %ebp
4185ae:	8b ec                	mov    %esp,%ebp
4185b0:	51                   	push   %ecx
4185b1:	ff 75 10             	push   0x10(%ebp)
4185b4:	8d 45 ff             	lea    -0x1(%ebp),%eax
4185b7:	50                   	push   %eax
4185b8:	ff 75 0c             	push   0xc(%ebp)
4185bb:	ff 75 08             	push   0x8(%ebp)
4185be:	e8 36 ff ff ff       	call   0x4184f9
4185c3:	83 c4 10             	add    $0x10,%esp
4185c6:	c9                   	leave
4185c7:	c3                   	ret
4185c8:	8b ff                	mov    %edi,%edi
4185ca:	55                   	push   %ebp
4185cb:	8b ec                	mov    %esp,%ebp
4185cd:	83 ec 10             	sub    $0x10,%esp
4185d0:	6a 00                	push   $0x0
4185d2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4185d5:	e8 1a ac ff ff       	call   0x4131f4
4185da:	8b 45 f4             	mov    -0xc(%ebp),%eax
4185dd:	ba e9 fd 00 00       	mov    $0xfde9,%edx
4185e2:	39 50 08             	cmp    %edx,0x8(%eax)
4185e5:	74 0c                	je     0x4185f3
4185e7:	e8 92 5d 00 00       	call   0x41e37e
4185ec:	33 d2                	xor    %edx,%edx
4185ee:	85 c0                	test   %eax,%eax
4185f0:	75 01                	jne    0x4185f3
4185f2:	42                   	inc    %edx
4185f3:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4185f7:	74 0a                	je     0x418603
4185f9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4185fc:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
418603:	8b c2                	mov    %edx,%eax
418605:	c9                   	leave
418606:	c3                   	ret
418607:	8b ff                	mov    %edi,%edi
418609:	56                   	push   %esi
41860a:	8b f1                	mov    %ecx,%esi
41860c:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
418610:	74 0d                	je     0x41861f
418612:	ff 76 08             	push   0x8(%esi)
418615:	e8 f6 e5 fe ff       	call   0x406c10
41861a:	59                   	pop    %ecx
41861b:	c6 46 14 00          	movb   $0x0,0x14(%esi)
41861f:	5e                   	pop    %esi
418620:	c3                   	ret
418621:	8b ff                	mov    %edi,%edi
418623:	55                   	push   %ebp
418624:	8b ec                	mov    %esp,%ebp
418626:	56                   	push   %esi
418627:	57                   	push   %edi
418628:	8b f1                	mov    %ecx,%esi
41862a:	e8 d8 ff ff ff       	call   0x418607
41862f:	8b 7d 08             	mov    0x8(%ebp),%edi
418632:	56                   	push   %esi
418633:	8d 04 3f             	lea    (%edi,%edi,1),%eax
418636:	50                   	push   %eax
418637:	8d 46 08             	lea    0x8(%esi),%eax
41863a:	50                   	push   %eax
41863b:	e8 20 00 00 00       	call   0x418660
418640:	83 c4 0c             	add    $0xc,%esp
418643:	85 c0                	test   %eax,%eax
418645:	74 0a                	je     0x418651
418647:	83 66 0c 00          	andl   $0x0,0xc(%esi)
41864b:	c6 46 14 00          	movb   $0x0,0x14(%esi)
41864f:	eb 09                	jmp    0x41865a
418651:	c6 46 14 01          	movb   $0x1,0x14(%esi)
418655:	33 c0                	xor    %eax,%eax
418657:	89 7e 0c             	mov    %edi,0xc(%esi)
41865a:	5f                   	pop    %edi
41865b:	5e                   	pop    %esi
41865c:	5d                   	pop    %ebp
41865d:	c2 04 00             	ret    $0x4
418660:	8b ff                	mov    %edi,%edi
418662:	55                   	push   %ebp
418663:	8b ec                	mov    %esp,%ebp
418665:	ff 75 0c             	push   0xc(%ebp)
418668:	e8 c3 e5 fe ff       	call   0x406c30
41866d:	59                   	pop    %ecx
41866e:	8b 4d 08             	mov    0x8(%ebp),%ecx
418671:	89 01                	mov    %eax,(%ecx)
418673:	f7 d8                	neg    %eax
418675:	1b c0                	sbb    %eax,%eax
418677:	83 e0 f4             	and    $0xfffffff4,%eax
41867a:	83 c0 0c             	add    $0xc,%eax
41867d:	5d                   	pop    %ebp
41867e:	c3                   	ret
41867f:	8b ff                	mov    %edi,%edi
418681:	55                   	push   %ebp
418682:	8b ec                	mov    %esp,%ebp