41848e:	83 e0 01             	and    $0x1,%eax
418491:	3b d8                	cmp    %eax,%ebx
418493:	75 04                	jne    0x418499
418495:	32 c0                	xor    %al,%al
418497:	eb 07                	jmp    0x4184a0
418499:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41849c:	b0 01                	mov    $0x1,%al
41849e:	89 31                	mov    %esi,(%ecx)
4184a0:	5f                   	pop    %edi
4184a1:	5e                   	pop    %esi
4184a2:	5b                   	pop    %ebx
4184a3:	c9                   	leave
4184a4:	c2 04 00             	ret    $0x4
4184a7:	55                   	push   %ebp
4184a8:	8b ec                	mov    %esp,%ebp
4184aa:	56                   	push   %esi
4184ab:	8b 75 0c             	mov    0xc(%ebp),%esi
4184ae:	57                   	push   %edi
4184af:	8b f9                	mov    %ecx,%edi
4184b1:	83 67 44 00          	andl   $0x0,0x44(%edi)
4184b5:	85 f6                	test   %esi,%esi
4184b7:	74 2d                	je     0x4184e6
4184b9:	ff 75 08             	push   0x8(%ebp)
4184bc:	0f b6 47 48          	movzbl 0x48(%edi),%eax
4184c0:	8b 4f 3c             	mov    0x3c(%edi),%ecx
4184c3:	50                   	push   %eax
4184c4:	e8 b4 af 00 00       	call   0x42347d
4184c9:	83 f8 ff             	cmp    $0xffffffff,%eax
4184cc:	74 18                	je     0x4184e6
4184ce:	8b 4f 44             	mov    0x44(%edi),%ecx
4184d1:	0f af 4d 08          	imul   0x8(%ebp),%ecx
4184d5:	03 c8                	add    %eax,%ecx
4184d7:	89 4f 44             	mov    %ecx,0x44(%edi)
4184da:	8b cf                	mov    %edi,%ecx
4184dc:	e8 f3 3e 00 00       	call   0x41c3d4
4184e1:	83 ee 01             	sub    $0x1,%esi
4184e4:	75 d3                	jne    0x4184b9
4184e6:	5f                   	pop    %edi
4184e7:	8b c6                	mov    %esi,%eax
4184e9:	5e                   	pop    %esi
4184ea:	5d                   	pop    %ebp
4184eb:	c2 08 00             	ret    $0x8
4184ee:	55                   	push   %ebp
4184ef:	8b ec                	mov    %esp,%ebp
4184f1:	56                   	push   %esi
4184f2:	8b 75 0c             	mov    0xc(%ebp),%esi
4184f5:	57                   	push   %edi
4184f6:	8b f9                	mov    %ecx,%edi
4184f8:	83 67 44 00          	andl   $0x0,0x44(%edi)
4184fc:	85 f6                	test   %esi,%esi
4184fe:	74 2d                	je     0x41852d
418500:	ff 75 08             	push   0x8(%ebp)
418503:	0f b7 47 48          	movzwl 0x48(%edi),%eax
418507:	8b 4f 3c             	mov    0x3c(%edi),%ecx
41850a:	50                   	push   %eax
41850b:	e8 bd af 00 00       	call   0x4234cd
418510:	83 f8 ff             	cmp    $0xffffffff,%eax
418513:	74 18                	je     0x41852d
418515:	8b 4f 44             	mov    0x44(%edi),%ecx
418518:	0f af 4d 08          	imul   0x8(%ebp),%ecx
41851c:	03 c8                	add    %eax,%ecx
41851e:	89 4f 44             	mov    %ecx,0x44(%edi)
418521:	8b cf                	mov    %edi,%ecx
418523:	e8 da 3e 00 00       	call   0x41c402
418528:	83 ee 01             	sub    $0x1,%esi
41852b:	75 d3                	jne    0x418500
41852d:	5f                   	pop    %edi
41852e:	8b c6                	mov    %esi,%eax
418530:	5e                   	pop    %esi
418531:	5d                   	pop    %ebp
418532:	c2 08 00             	ret    $0x8
418535:	55                   	push   %ebp
418536:	8b ec                	mov    %esp,%ebp
418538:	51                   	push   %ecx
418539:	53                   	push   %ebx
41853a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41853d:	33 c0                	xor    %eax,%eax
41853f:	56                   	push   %esi
418540:	57                   	push   %edi
418541:	8b f1                	mov    %ecx,%esi
418543:	83 fb 2e             	cmp    $0x2e,%ebx
418546:	6a 0e                	push   $0xe
418548:	59                   	pop    %ecx
418549:	0f 44 c8             	cmove  %eax,%ecx
41854c:	83 fb 3d             	cmp    $0x3d,%ebx
41854f:	8b 3e                	mov    (%esi),%edi
418551:	0f 44 c8             	cmove  %eax,%ecx
418554:	40                   	inc    %eax
418555:	83 fb 3a             	cmp    $0x3a,%ebx
418558:	0f 44 c8             	cmove  %eax,%ecx
41855b:	8b 46 4c             	mov    0x4c(%esi),%eax
41855e:	33 d2                	xor    %edx,%edx
418560:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418563:	89 55 08             	mov    %edx,0x8(%ebp)
418566:	83 f8 3a             	cmp    $0x3a,%eax
418569:	74 2e                	je     0x418599
41856b:	8b c8                	mov    %eax,%ecx
41856d:	8b c1                	mov    %ecx,%eax
41856f:	83 f9 3d             	cmp    $0x3d,%ecx
418572:	74 22                	je     0x418596
418574:	83 f9 2e             	cmp    $0x2e,%ecx
418577:	74 1d                	je     0x418596
418579:	83 f9 ff             	cmp    $0xffffffff,%ecx
41857c:	74 18                	je     0x418596
41857e:	8b ce                	mov    %esi,%ecx
418580:	e8 4f 3e 00 00       	call   0x41c3d4
418585:	8b 55 08             	mov    0x8(%ebp),%edx
418588:	8b 46 4c             	mov    0x4c(%esi),%eax
41858b:	42                   	inc    %edx
41858c:	89 55 08             	mov    %edx,0x8(%ebp)
41858f:	8b c8                	mov    %eax,%ecx
418591:	83 f8 3a             	cmp    $0x3a,%eax
418594:	75 d7                	jne    0x41856d
418596:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418599:	3b c3                	cmp    %ebx,%eax
41859b:	0f 85 86 00 00 00    	jne    0x418627
4185a1:	83 fb 3a             	cmp    $0x3a,%ebx
4185a4:	75 30                	jne    0x4185d6
4185a6:	8b 46 40             	mov    0x40(%esi),%eax
4185a9:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4185ac:	c1 e8 08             	shr    $0x8,%eax
4185af:	24 01                	and    $0x1,%al
4185b1:	50                   	push   %eax
4185b2:	ff 36                	push   (%esi)
4185b4:	57                   	push   %edi
4185b5:	e8 6b f8 fe ff       	call   0x407e25
4185ba:	0f b7 c0             	movzwl %ax,%eax
4185bd:	66 85 c0             	test   %ax,%ax
4185c0:	75 04                	jne    0x4185c6
4185c2:	6a 01                	push   $0x1
4185c4:	eb 62                	jmp    0x418628
4185c6:	6a 00                	push   $0x0
4185c8:	8d 4e 24             	lea    0x24(%esi),%ecx
4185cb:	50                   	push   %eax
4185cc:	ff 71 04             	push   0x4(%ecx)
4185cf:	e8 92 cf ff ff       	call   0x415566
4185d4:	eb 37                	jmp    0x41860d
4185d6:	83 fb 3d             	cmp    $0x3d,%ebx
4185d9:	75 12                	jne    0x4185ed
4185db:	3b 3e                	cmp    (%esi),%edi
4185dd:	74 17                	je     0x4185f6
4185df:	52                   	push   %edx
4185e0:	ff 36                	push   (%esi)
4185e2:	8d 4e 24             	lea    0x24(%esi),%ecx
4185e5:	57                   	push   %edi
4185e6:	e8 81 d0 ff ff       	call   0x41566c
4185eb:	eb 20                	jmp    0x41860d
4185ed:	83 fb 2e             	cmp    $0x2e,%ebx
4185f0:	75 1b                	jne    0x41860d
4185f2:	3b 3e                	cmp    (%esi),%edi
4185f4:	75 04                	jne    0x4185fa
4185f6:	6a 00                	push   $0x0
4185f8:	eb 2e                	jmp    0x418628
4185fa:	8d 4e 24             	lea    0x24(%esi),%ecx
4185fd:	8b 41 04             	mov    0x4(%ecx),%eax
418600:	83 c0 14             	add    $0x14,%eax
418603:	50                   	push   %eax
418604:	52                   	push   %edx
418605:	ff 36                	push   (%esi)
418607:	57                   	push   %edi
418608:	e8 19 ec ff ff       	call   0x417226
41860d:	8b ce                	mov    %esi,%ecx
41860f:	e8 c0 3d 00 00       	call   0x41c3d4
418614:	ff 75 fc             	push   -0x4(%ebp)
418617:	8b ce                	mov    %esi,%ecx
418619:	6a 5d                	push   $0x5d
41861b:	e8 8b 10 00 00       	call   0x4196ab
418620:	5f                   	pop    %edi
418621:	5e                   	pop    %esi
418622:	5b                   	pop    %ebx
418623:	c9                   	leave
418624:	c2 04 00             	ret    $0x4
418627:	51                   	push   %ecx
418628:	8b ce                	mov    %esi,%ecx
41862a:	e8 0d 10 00 00       	call   0x41963c
41862f:	cc                   	int3
418630:	55                   	push   %ebp
418631:	8b ec                	mov    %esp,%ebp
418633:	51                   	push   %ecx
418634:	53                   	push   %ebx
418635:	8b 5d 08             	mov    0x8(%ebp),%ebx
418638:	33 c0                	xor    %eax,%eax
41863a:	56                   	push   %esi
41863b:	57                   	push   %edi
41863c:	8b f9                	mov    %ecx,%edi
41863e:	83 fb 2e             	cmp    $0x2e,%ebx
418641:	6a 0e                	push   $0xe
418643:	59                   	pop    %ecx
418644:	0f 44 c8             	cmove  %eax,%ecx
418647:	83 fb 3d             	cmp    $0x3d,%ebx
41864a:	8b 37                	mov    (%edi),%esi
41864c:	0f 44 c8             	cmove  %eax,%ecx
41864f:	40                   	inc    %eax
418650:	83 fb 3a             	cmp    $0x3a,%ebx
418653:	0f 44 c8             	cmove  %eax,%ecx
418656:	8b 47 4c             	mov    0x4c(%edi),%eax
418659:	33 d2                	xor    %edx,%edx
41865b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41865e:	89 55 08             	mov    %edx,0x8(%ebp)
418661:	83 f8 3a             	cmp    $0x3a,%eax
418664:	74 2e                	je     0x418694
418666:	8b c8                	mov    %eax,%ecx
418668:	8b c1                	mov    %ecx,%eax
41866a:	83 f9 3d             	cmp    $0x3d,%ecx
41866d:	74 22                	je     0x418691
41866f:	83 f9 2e             	cmp    $0x2e,%ecx
418672:	74 1d                	je     0x418691
418674:	83 f9 ff             	cmp    $0xffffffff,%ecx
418677:	74 18                	je     0x418691
418679:	8b cf                	mov    %edi,%ecx
41867b:	e8 82 3d 00 00       	call   0x41c402
418680:	8b 55 08             	mov    0x8(%ebp),%edx
418683:	8b 47 4c             	mov    0x4c(%edi),%eax
418686:	42                   	inc    %edx
418687:	89 55 08             	mov    %edx,0x8(%ebp)
41868a:	8b c8                	mov    %eax,%ecx
41868c:	83 f8 3a             	cmp    $0x3a,%eax
41868f:	75 d7                	jne    0x418668
418691:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418694:	3b c3                	cmp    %ebx,%eax
418696:	0f 85 8b 00 00 00    	jne    0x418727
41869c:	83 fb 3a             	cmp    $0x3a,%ebx
41869f:	75 35                	jne    0x4186d6
4186a1:	8b 47 40             	mov    0x40(%edi),%eax
4186a4:	8b 4f 3c             	mov    0x3c(%edi),%ecx
4186a7:	c1 e8 08             	shr    $0x8,%eax
4186aa:	24 01                	and    $0x1,%al
4186ac:	50                   	push   %eax
4186ad:	ff 37                	push   (%edi)
4186af:	56                   	push   %esi
4186b0:	e8 df f7 fe ff       	call   0x407e94
4186b5:	0f b7 d8             	movzwl %ax,%ebx
4186b8:	66 85 db             	test   %bx,%bx
4186bb:	75 04                	jne    0x4186c1
4186bd:	6a 01                	push   $0x1
4186bf:	eb 67                	jmp    0x418728
4186c1:	6a 00                	push   $0x0
4186c3:	8d 4f 24             	lea    0x24(%edi),%ecx
4186c6:	8b 71 04             	mov    0x4(%ecx),%esi
4186c9:	53                   	push   %ebx
4186ca:	56                   	push   %esi
4186cb:	e8 19 cf ff ff       	call   0x4155e9
4186d0:	66 09 5e 24          	or     %bx,0x24(%esi)
4186d4:	eb 37                	jmp    0x41870d
4186d6:	83 fb 3d             	cmp    $0x3d,%ebx
4186d9:	75 12                	jne    0x4186ed
4186db:	3b 37                	cmp    (%edi),%esi
4186dd:	74 17                	je     0x4186f6
4186df:	52                   	push   %edx
4186e0:	ff 37                	push   (%edi)
4186e2:	8d 4f 24             	lea    0x24(%edi),%ecx
4186e5:	56                   	push   %esi
4186e6:	e8 61 d0 ff ff       	call   0x41574c
4186eb:	eb 20                	jmp    0x41870d
4186ed:	83 fb 2e             	cmp    $0x2e,%ebx
4186f0:	75 1b                	jne    0x41870d
4186f2:	3b 37                	cmp    (%edi),%esi
4186f4:	75 04                	jne    0x4186fa
4186f6:	6a 00                	push   $0x0
4186f8:	eb 2e                	jmp    0x418728
4186fa:	8d 4f 24             	lea    0x24(%edi),%ecx
4186fd:	8b 41 04             	mov    0x4(%ecx),%eax
418700:	83 c0 14             	add    $0x14,%eax
418703:	50                   	push   %eax
418704:	52                   	push   %edx
418705:	ff 37                	push   (%edi)
418707:	56                   	push   %esi
418708:	e8 93 eb ff ff       	call   0x4172a0
41870d:	8b cf                	mov    %edi,%ecx
41870f:	e8 ee 3c 00 00       	call   0x41c402
418714:	ff 75 fc             	push   -0x4(%ebp)
418717:	8b cf                	mov    %edi,%ecx
418719:	6a 5d                	push   $0x5d
41871b:	e8 a8 0f 00 00       	call   0x4196c8
418720:	5f                   	pop    %edi
418721:	5e                   	pop    %esi
418722:	5b                   	pop    %ebx
418723:	c9                   	leave
418724:	c2 04 00             	ret    $0x4
418727:	51                   	push   %ecx
418728:	8b cf                	mov    %edi,%ecx
41872a:	e8 19 0f 00 00       	call   0x419648
41872f:	cc                   	int3
418730:	55                   	push   %ebp
418731:	8b ec                	mov    %esp,%ebp
418733:	8a 45 08             	mov    0x8(%ebp),%al
418736:	3c 66                	cmp    $0x66,%al
418738:	75 09                	jne    0x418743
41873a:	c7 41 44 0c 00 00 00 	movl   $0xc,0x44(%ecx)
418741:	eb 32                	jmp    0x418775
418743:	3c 6e                	cmp    $0x6e,%al
418745:	75 09                	jne    0x418750
418747:	c7 41 44 0a 00 00 00 	movl   $0xa,0x44(%ecx)
41874e:	eb 25                	jmp    0x418775
418750:	3c 72                	cmp    $0x72,%al
418752:	75 09                	jne    0x41875d
418754:	c7 41 44 0d 00 00 00 	movl   $0xd,0x44(%ecx)
41875b:	eb 18                	jmp    0x418775
41875d:	3c 74                	cmp    $0x74,%al
41875f:	75 09                	jne    0x41876a
418761:	c7 41 44 09 00 00 00 	movl   $0x9,0x44(%ecx)
418768:	eb 0b                	jmp    0x418775
41876a:	3c 76                	cmp    $0x76,%al
41876c:	75 0b                	jne    0x418779
41876e:	c7 41 44 0b 00 00 00 	movl   $0xb,0x44(%ecx)
418775:	b0 01                	mov    $0x1,%al
418777:	eb 02                	jmp    0x41877b
418779:	32 c0                	xor    %al,%al
41877b:	5d                   	pop    %ebp
41877c:	c2 04 00             	ret    $0x4
41877f:	55                   	push   %ebp
418780:	8b ec                	mov    %esp,%ebp
418782:	66 8b 45 08          	mov    0x8(%ebp),%ax
418786:	66 83 f8 66          	cmp    $0x66,%ax
41878a:	75 09                	jne    0x418795
41878c:	c7 41 44 0c 00 00 00 	movl   $0xc,0x44(%ecx)
418793:	eb 3a                	jmp    0x4187cf
418795:	66 83 f8 6e          	cmp    $0x6e,%ax
418799:	75 09                	jne    0x4187a4
41879b:	c7 41 44 0a 00 00 00 	movl   $0xa,0x44(%ecx)
4187a2:	eb 2b                	jmp    0x4187cf
4187a4:	66 83 f8 72          	cmp    $0x72,%ax
4187a8:	75 09                	jne    0x4187b3
4187aa:	c7 41 44 0d 00 00 00 	movl   $0xd,0x44(%ecx)
4187b1:	eb 1c                	jmp    0x4187cf
4187b3:	66 83 f8 74          	cmp    $0x74,%ax
4187b7:	75 09                	jne    0x4187c2
4187b9:	c7 41 44 09 00 00 00 	movl   $0x9,0x44(%ecx)
4187c0:	eb 0d                	jmp    0x4187cf
4187c2:	66 83 f8 76          	cmp    $0x76,%ax
4187c6:	75 0b                	jne    0x4187d3
4187c8:	c7 41 44 0b 00 00 00 	movl   $0xb,0x44(%ecx)
4187cf:	b0 01                	mov    $0x1,%al
4187d1:	eb 02                	jmp    0x4187d5
4187d3:	32 c0                	xor    %al,%al
4187d5:	5d                   	pop    %ebp
4187d6:	c2 04 00             	ret    $0x4
4187d9:	55                   	push   %ebp
4187da:	8b ec                	mov    %esp,%ebp
4187dc:	8a 45 08             	mov    0x8(%ebp),%al
4187df:	3c 61                	cmp    $0x61,%al
4187e1:	75 04                	jne    0x4187e7
4187e3:	6a 07                	push   $0x7
4187e5:	eb 06                	jmp    0x4187ed
4187e7:	3c 62                	cmp    $0x62,%al
4187e9:	75 0a                	jne    0x4187f5
4187eb:	6a 08                	push   $0x8
4187ed:	58                   	pop    %eax
4187ee:	89 41 44             	mov    %eax,0x44(%ecx)
4187f1:	b0 01                	mov    $0x1,%al