412437:	0f 82 e6 00 00 00    	jb     0x412523
41243d:	8b 45 e0             	mov    -0x20(%ebp),%eax
412440:	66 3b f0             	cmp    %ax,%si
412443:	0f 82 e4 00 00 00    	jb     0x41252d
412449:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
41244d:	0f 82 d0 00 00 00    	jb     0x412523
412453:	8b 45 d8             	mov    -0x28(%ebp),%eax
412456:	66 3b f0             	cmp    %ax,%si
412459:	0f 82 ce 00 00 00    	jb     0x41252d
41245f:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
412463:	0f 82 ba 00 00 00    	jb     0x412523
412469:	8b 45 d0             	mov    -0x30(%ebp),%eax
41246c:	66 3b f0             	cmp    %ax,%si
41246f:	0f 82 b8 00 00 00    	jb     0x41252d
412475:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
412479:	0f 82 a4 00 00 00    	jb     0x412523
41247f:	8b 45 c8             	mov    -0x38(%ebp),%eax
412482:	66 3b f0             	cmp    %ax,%si
412485:	0f 82 a2 00 00 00    	jb     0x41252d
41248b:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
41248f:	0f 82 8e 00 00 00    	jb     0x412523
412495:	8b 45 c0             	mov    -0x40(%ebp),%eax
412498:	66 3b f0             	cmp    %ax,%si
41249b:	0f 82 8c 00 00 00    	jb     0x41252d
4124a1:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
4124a5:	72 7c                	jb     0x412523
4124a7:	8b 45 b8             	mov    -0x48(%ebp),%eax
4124aa:	66 3b f0             	cmp    %ax,%si
4124ad:	72 7e                	jb     0x41252d
4124af:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
4124b3:	72 6e                	jb     0x412523
4124b5:	8b 45 b0             	mov    -0x50(%ebp),%eax
4124b8:	66 3b f0             	cmp    %ax,%si
4124bb:	72 70                	jb     0x41252d
4124bd:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
4124c1:	72 60                	jb     0x412523
4124c3:	8b 45 a8             	mov    -0x58(%ebp),%eax
4124c6:	66 3b f0             	cmp    %ax,%si
4124c9:	72 62                	jb     0x41252d
4124cb:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
4124cf:	72 52                	jb     0x412523
4124d1:	8b 45 a0             	mov    -0x60(%ebp),%eax
4124d4:	66 3b f0             	cmp    %ax,%si
4124d7:	72 54                	jb     0x41252d
4124d9:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
4124dd:	72 44                	jb     0x412523
4124df:	8b 45 98             	mov    -0x68(%ebp),%eax
4124e2:	66 3b f0             	cmp    %ax,%si
4124e5:	72 46                	jb     0x41252d
4124e7:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
4124eb:	72 36                	jb     0x412523
4124ed:	8b 45 90             	mov    -0x70(%ebp),%eax
4124f0:	66 3b f0             	cmp    %ax,%si
4124f3:	72 38                	jb     0x41252d
4124f5:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
4124f9:	72 28                	jb     0x412523
4124fb:	8b 45 88             	mov    -0x78(%ebp),%eax
4124fe:	66 3b f0             	cmp    %ax,%si
412501:	72 2a                	jb     0x41252d
412503:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
412507:	72 1a                	jb     0x412523
412509:	8b 45 80             	mov    -0x80(%ebp),%eax
41250c:	66 3b f0             	cmp    %ax,%si
41250f:	72 1c                	jb     0x41252d
412511:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
412518:	eb 07                	jmp    0x412521
41251a:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
412521:	73 0a                	jae    0x41252d
412523:	0f b7 ce             	movzwl %si,%ecx
412526:	2b c8                	sub    %eax,%ecx
412528:	83 f9 ff             	cmp    $0xffffffff,%ecx
41252b:	75 2e                	jne    0x41255b
41252d:	0f b7 ce             	movzwl %si,%ecx
412530:	83 f9 41             	cmp    $0x41,%ecx
412533:	72 05                	jb     0x41253a
412535:	83 f9 5a             	cmp    $0x5a,%ecx
412538:	76 0b                	jbe    0x412545
41253a:	83 f9 61             	cmp    $0x61,%ecx
41253d:	72 19                	jb     0x412558
41253f:	66 83 fe 7a          	cmp    $0x7a,%si
412543:	77 13                	ja     0x412558
412545:	6a 19                	push   $0x19
412547:	8d 46 9f             	lea    -0x61(%esi),%eax
41254a:	5a                   	pop    %edx
41254b:	66 3b c2             	cmp    %dx,%ax
41254e:	77 03                	ja     0x412553
412550:	83 c1 e0             	add    $0xffffffe0,%ecx
412553:	83 c1 c9             	add    $0xffffffc9,%ecx
412556:	eb 03                	jmp    0x41255b
412558:	83 c9 ff             	or     $0xffffffff,%ecx
41255b:	8b 55 14             	mov    0x14(%ebp),%edx
41255e:	3b ca                	cmp    %edx,%ecx
412560:	73 37                	jae    0x412599
412562:	8b 45 fc             	mov    -0x4(%ebp),%eax
412565:	0f af c2             	imul   %edx,%eax
412568:	6a 30                	push   $0x30
41256a:	8d 14 08             	lea    (%eax,%ecx,1),%edx
41256d:	3b d0                	cmp    %eax,%edx
41256f:	1b c9                	sbb    %ecx,%ecx
412571:	f7 d9                	neg    %ecx
412573:	3b 7d fc             	cmp    -0x4(%ebp),%edi
412576:	89 55 fc             	mov    %edx,-0x4(%ebp)
412579:	1b c0                	sbb    %eax,%eax
41257b:	f7 d8                	neg    %eax
41257d:	0b c8                	or     %eax,%ecx
41257f:	c1 e1 02             	shl    $0x2,%ecx
412582:	83 c9 08             	or     $0x8,%ecx
412585:	0b d9                	or     %ecx,%ebx
412587:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41258a:	0f b7 31             	movzwl (%ecx),%esi
41258d:	83 c1 02             	add    $0x2,%ecx
412590:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412593:	59                   	pop    %ecx
412594:	e9 38 fe ff ff       	jmp    0x4123d1
412599:	56                   	push   %esi
41259a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41259d:	e8 e9 f2 ff ff       	call   0x41188b
4125a2:	f6 c3 08             	test   $0x8,%bl
4125a5:	75 13                	jne    0x4125ba
4125a7:	8b 45 10             	mov    0x10(%ebp),%eax
4125aa:	85 c0                	test   %eax,%eax
4125ac:	74 08                	je     0x4125b6
4125ae:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
4125b4:	89 08                	mov    %ecx,(%eax)
4125b6:	33 c0                	xor    %eax,%eax
4125b8:	eb 65                	jmp    0x41261f
4125ba:	8b 75 fc             	mov    -0x4(%ebp),%esi
4125bd:	56                   	push   %esi
4125be:	53                   	push   %ebx
4125bf:	e8 5e b5 ff ff       	call   0x40db22
4125c4:	59                   	pop    %ecx
4125c5:	59                   	pop    %ecx
4125c6:	84 c0                	test   %al,%al
4125c8:	74 40                	je     0x41260a
4125ca:	8b 45 08             	mov    0x8(%ebp),%eax
4125cd:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4125d1:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
4125d8:	f6 c3 01             	test   $0x1,%bl
4125db:	75 05                	jne    0x4125e2
4125dd:	83 ce ff             	or     $0xffffffff,%esi
4125e0:	eb 2f                	jmp    0x412611
4125e2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4125e5:	f6 c3 02             	test   $0x2,%bl
4125e8:	74 10                	je     0x4125fa
4125ea:	85 c9                	test   %ecx,%ecx
4125ec:	74 05                	je     0x4125f3
4125ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4125f1:	89 01                	mov    %eax,(%ecx)
4125f3:	b8 00 00 00 80       	mov    $0x80000000,%eax
4125f8:	eb 25                	jmp    0x41261f
4125fa:	85 c9                	test   %ecx,%ecx
4125fc:	74 05                	je     0x412603
4125fe:	8b 45 0c             	mov    0xc(%ebp),%eax
412601:	89 01                	mov    %eax,(%ecx)
412603:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
412608:	eb 15                	jmp    0x41261f
41260a:	f6 c3 02             	test   $0x2,%bl
41260d:	74 02                	je     0x412611
41260f:	f7 de                	neg    %esi
412611:	8b 55 10             	mov    0x10(%ebp),%edx
412614:	85 d2                	test   %edx,%edx
412616:	74 05                	je     0x41261d
412618:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41261b:	89 0a                	mov    %ecx,(%edx)
41261d:	8b c6                	mov    %esi,%eax
41261f:	5f                   	pop    %edi
412620:	5e                   	pop    %esi
412621:	5b                   	pop    %ebx
412622:	c9                   	leave
412623:	c3                   	ret
412624:	8b ff                	mov    %edi,%edi
412626:	55                   	push   %ebp
412627:	8b ec                	mov    %esp,%ebp
412629:	83 ec 28             	sub    $0x28,%esp
41262c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41262f:	53                   	push   %ebx
412630:	56                   	push   %esi
412631:	57                   	push   %edi
412632:	e8 e4 f2 ff ff       	call   0x41191b
412637:	84 c0                	test   %al,%al
412639:	74 2f                	je     0x41266a
41263b:	8b 75 14             	mov    0x14(%ebp),%esi
41263e:	85 f6                	test   %esi,%esi
412640:	74 3d                	je     0x41267f
412642:	83 fe 02             	cmp    $0x2,%esi
412645:	7c 05                	jl     0x41264c
412647:	83 fe 24             	cmp    $0x24,%esi
41264a:	7e 33                	jle    0x41267f
41264c:	8b 45 08             	mov    0x8(%ebp),%eax
41264f:	50                   	push   %eax
412650:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
412654:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
41265b:	33 c0                	xor    %eax,%eax
41265d:	50                   	push   %eax
41265e:	50                   	push   %eax
41265f:	50                   	push   %eax
412660:	50                   	push   %eax
412661:	50                   	push   %eax
412662:	e8 0a ad ff ff       	call   0x40d371
412667:	83 c4 18             	add    $0x18,%esp
41266a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41266d:	85 c9                	test   %ecx,%ecx
41266f:	0f 84 f4 01 00 00    	je     0x412869
412675:	8b 45 0c             	mov    0xc(%ebp),%eax
412678:	89 01                	mov    %eax,(%ecx)
41267a:	e9 ea 01 00 00       	jmp    0x412869
41267f:	8b 45 0c             	mov    0xc(%ebp),%eax
412682:	33 ff                	xor    %edi,%edi
412684:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
412688:	89 45 d8             	mov    %eax,-0x28(%ebp)
41268b:	8a 18                	mov    (%eax),%bl
41268d:	40                   	inc    %eax
41268e:	89 45 0c             	mov    %eax,0xc(%ebp)
412691:	8b 45 08             	mov    0x8(%ebp),%eax
412694:	88 5d f8             	mov    %bl,-0x8(%ebp)
412697:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41269b:	75 0a                	jne    0x4126a7
41269d:	8b c8                	mov    %eax,%ecx
41269f:	e8 1c f2 ff ff       	call   0x4118c0
4126a4:	8b 45 08             	mov    0x8(%ebp),%eax
4126a7:	83 c0 0c             	add    $0xc,%eax
4126aa:	50                   	push   %eax
4126ab:	89 45 f4             	mov    %eax,-0xc(%ebp)
4126ae:	0f b6 c3             	movzbl %bl,%eax
4126b1:	6a 08                	push   $0x8
4126b3:	50                   	push   %eax
4126b4:	e8 33 02 00 00       	call   0x4128ec
4126b9:	83 c4 0c             	add    $0xc,%esp
4126bc:	85 c0                	test   %eax,%eax
4126be:	74 25                	je     0x4126e5
4126c0:	8b 75 f4             	mov    -0xc(%ebp),%esi
4126c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4126c6:	56                   	push   %esi
4126c7:	6a 08                	push   $0x8
4126c9:	8a 18                	mov    (%eax),%bl
4126cb:	40                   	inc    %eax
4126cc:	89 45 0c             	mov    %eax,0xc(%ebp)
4126cf:	0f b6 c3             	movzbl %bl,%eax
4126d2:	50                   	push   %eax
4126d3:	88 5d f8             	mov    %bl,-0x8(%ebp)
4126d6:	e8 11 02 00 00       	call   0x4128ec
4126db:	83 c4 0c             	add    $0xc,%esp
4126de:	85 c0                	test   %eax,%eax
4126e0:	75 e1                	jne    0x4126c3
4126e2:	8b 75 14             	mov    0x14(%ebp),%esi
4126e5:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
4126e9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4126ec:	80 fb 2d             	cmp    $0x2d,%bl
4126ef:	75 08                	jne    0x4126f9
4126f1:	83 c8 02             	or     $0x2,%eax
4126f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4126f7:	eb 05                	jmp    0x4126fe
4126f9:	80 fb 2b             	cmp    $0x2b,%bl
4126fc:	75 0e                	jne    0x41270c
4126fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412701:	8a 19                	mov    (%ecx),%bl
412703:	41                   	inc    %ecx
412704:	88 5d f8             	mov    %bl,-0x8(%ebp)
412707:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41270a:	eb 03                	jmp    0x41270f
41270c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41270f:	85 f6                	test   %esi,%esi
412711:	74 05                	je     0x412718
412713:	83 fe 10             	cmp    $0x10,%esi
412716:	75 72                	jne    0x41278a
412718:	8a c3                	mov    %bl,%al
41271a:	2c 30                	sub    $0x30,%al
41271c:	3c 09                	cmp    $0x9,%al
41271e:	77 08                	ja     0x412728
412720:	0f be c3             	movsbl %bl,%eax
412723:	83 c0 d0             	add    $0xffffffd0,%eax
412726:	eb 1e                	jmp    0x412746
412728:	8a c3                	mov    %bl,%al
41272a:	2c 61                	sub    $0x61,%al
41272c:	3c 19                	cmp    $0x19,%al
41272e:	77 08                	ja     0x412738
412730:	0f be c3             	movsbl %bl,%eax
412733:	83 c0 a9             	add    $0xffffffa9,%eax
412736:	eb 0e                	jmp    0x412746
412738:	8a c3                	mov    %bl,%al
41273a:	2c 41                	sub    $0x41,%al
41273c:	3c 19                	cmp    $0x19,%al
41273e:	77 43                	ja     0x412783
412740:	0f be c3             	movsbl %bl,%eax
412743:	83 c0 c9             	add    $0xffffffc9,%eax
412746:	85 c0                	test   %eax,%eax
412748:	75 39                	jne    0x412783
41274a:	8a 01                	mov    (%ecx),%al
41274c:	41                   	inc    %ecx
41274d:	88 45 f4             	mov    %al,-0xc(%ebp)
412750:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412753:	3c 78                	cmp    $0x78,%al
412755:	74 18                	je     0x41276f
412757:	3c 58                	cmp    $0x58,%al
412759:	74 14                	je     0x41276f
41275b:	85 f6                	test   %esi,%esi
41275d:	75 03                	jne    0x412762
41275f:	6a 08                	push   $0x8
412761:	5e                   	pop    %esi
412762:	ff 75 f4             	push   -0xc(%ebp)
412765:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412768:	e8 f5 f0 ff ff       	call   0x411862
41276d:	eb 1b                	jmp    0x41278a
41276f:	85 f6                	test   %esi,%esi
412771:	75 03                	jne    0x412776
412773:	6a 10                	push   $0x10
412775:	5e                   	pop    %esi
412776:	8a 19                	mov    (%ecx),%bl
412778:	8d 41 01             	lea    0x1(%ecx),%eax
41277b:	88 5d f8             	mov    %bl,-0x8(%ebp)
41277e:	89 45 0c             	mov    %eax,0xc(%ebp)
412781:	eb 07                	jmp    0x41278a
412783:	85 f6                	test   %esi,%esi
412785:	75 03                	jne    0x41278a
412787:	6a 0a                	push   $0xa
412789:	5e                   	pop    %esi
41278a:	8b c6                	mov    %esi,%eax
41278c:	99                   	cltd
41278d:	8b ca                	mov    %edx,%ecx
41278f:	89 45 e8             	mov    %eax,-0x18(%ebp)
412792:	51                   	push   %ecx
412793:	50                   	push   %eax
412794:	6a ff                	push   $0xffffffff
412796:	6a ff                	push   $0xffffffff
412798:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41279b:	e8 80 b5 01 00       	call   0x42dd20
4127a0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4127a3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4127a6:	8a c3                	mov    %bl,%al
4127a8:	2c 30                	sub    $0x30,%al
4127aa:	3c 09                	cmp    $0x9,%al
4127ac:	77 08                	ja     0x4127b6
4127ae:	0f be c3             	movsbl %bl,%eax
4127b1:	83 c0 d0             	add    $0xffffffd0,%eax
4127b4:	eb 23                	jmp    0x4127d9
4127b6:	8a c3                	mov    %bl,%al
4127b8:	2c 61                	sub    $0x61,%al
4127ba:	3c 19                	cmp    $0x19,%al
4127bc:	77 08                	ja     0x4127c6
4127be:	0f be c3             	movsbl %bl,%eax
4127c1:	83 c0 a9             	add    $0xffffffa9,%eax
4127c4:	eb 13                	jmp    0x4127d9
4127c6:	8a c3                	mov    %bl,%al
4127c8:	2c 41                	sub    $0x41,%al
4127ca:	3c 19                	cmp    $0x19,%al
4127cc:	77 08                	ja     0x4127d6
4127ce:	0f be c3             	movsbl %bl,%eax
4127d1:	83 c0 c9             	add    $0xffffffc9,%eax
4127d4:	eb 03                	jmp    0x4127d9
4127d6:	83 c8 ff             	or     $0xffffffff,%eax