45a492:	53                   	push   %ebx
45a493:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a496:	56                   	push   %esi
45a497:	8b 75 08             	mov    0x8(%ebp),%esi
45a49a:	57                   	push   %edi
45a49b:	8b f9                	mov    %ecx,%edi
45a49d:	8a 4e 04             	mov    0x4(%esi),%cl
45a4a0:	80 f9 70             	cmp    $0x70,%cl
45a4a3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45a4a6:	0f 94 c6             	sete   %dh
45a4a9:	80 fb 70             	cmp    $0x70,%bl
45a4ac:	0f 94 c2             	sete   %dl
45a4af:	84 f6                	test   %dh,%dh
45a4b1:	0f 85 f2 00 00 00    	jne    0x45a5a9
45a4b7:	84 d2                	test   %dl,%dl
45a4b9:	0f 85 ea 00 00 00    	jne    0x45a5a9
45a4bf:	33 c0                	xor    %eax,%eax
45a4c1:	80 f9 73             	cmp    $0x73,%cl
45a4c4:	74 08                	je     0x45a4ce
45a4c6:	88 45 ff             	mov    %al,-0x1(%ebp)
45a4c9:	80 f9 53             	cmp    $0x53,%cl
45a4cc:	75 04                	jne    0x45a4d2
45a4ce:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a4d2:	80 fb 73             	cmp    $0x73,%bl
45a4d5:	74 07                	je     0x45a4de
45a4d7:	8a f0                	mov    %al,%dh
45a4d9:	80 fb 53             	cmp    $0x53,%bl
45a4dc:	75 02                	jne    0x45a4e0
45a4de:	b6 01                	mov    $0x1,%dh
45a4e0:	80 f9 63             	cmp    $0x63,%cl
45a4e3:	74 07                	je     0x45a4ec
45a4e5:	8a d0                	mov    %al,%dl
45a4e7:	80 f9 43             	cmp    $0x43,%cl
45a4ea:	75 02                	jne    0x45a4ee
45a4ec:	b2 01                	mov    $0x1,%dl
45a4ee:	80 fb 63             	cmp    $0x63,%bl
45a4f1:	74 05                	je     0x45a4f8
45a4f3:	80 fb 43             	cmp    $0x43,%bl
45a4f6:	75 02                	jne    0x45a4fa
45a4f8:	b0 01                	mov    $0x1,%al
45a4fa:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
45a4fe:	75 72                	jne    0x45a572
45a500:	84 f6                	test   %dh,%dh
45a502:	0f 85 9d 00 00 00    	jne    0x45a5a5
45a508:	84 d2                	test   %dl,%dl
45a50a:	75 6b                	jne    0x45a577
45a50c:	84 c0                	test   %al,%al
45a50e:	0f 85 91 00 00 00    	jne    0x45a5a5
45a514:	51                   	push   %ecx
45a515:	e8 87 d8 ff ff       	call   0x457da1
45a51a:	53                   	push   %ebx
45a51b:	88 45 ff             	mov    %al,-0x1(%ebp)
45a51e:	e8 7e d8 ff ff       	call   0x457da1
45a523:	59                   	pop    %ecx
45a524:	59                   	pop    %ecx
45a525:	8a 4d ff             	mov    -0x1(%ebp),%cl
45a528:	84 c9                	test   %cl,%cl
45a52a:	75 0d                	jne    0x45a539
45a52c:	84 c0                	test   %al,%al
45a52e:	75 75                	jne    0x45a5a5
45a530:	8b 0e                	mov    (%esi),%ecx
45a532:	33 c0                	xor    %eax,%eax
45a534:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
45a537:	eb 74                	jmp    0x45a5ad
45a539:	3a c8                	cmp    %al,%cl
45a53b:	75 68                	jne    0x45a5a5
45a53d:	33 c9                	xor    %ecx,%ecx
45a53f:	83 7e 0c 09          	cmpl   $0x9,0xc(%esi)
45a543:	0f 94 c1             	sete   %cl
45a546:	33 c0                	xor    %eax,%eax
45a548:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
45a54c:	0f 94 c0             	sete   %al
45a54f:	3b c8                	cmp    %eax,%ecx
45a551:	75 52                	jne    0x45a5a5
45a553:	ff 76 0c             	push   0xc(%esi)
45a556:	e8 9a 56 00 00       	call   0x45fbf5
45a55b:	ff 75 14             	push   0x14(%ebp)
45a55e:	8b d8                	mov    %eax,%ebx
45a560:	e8 90 56 00 00       	call   0x45fbf5
45a565:	2b d8                	sub    %eax,%ebx
45a567:	f7 db                	neg    %ebx
45a569:	59                   	pop    %ecx
45a56a:	1b db                	sbb    %ebx,%ebx
45a56c:	43                   	inc    %ebx
45a56d:	59                   	pop    %ecx
45a56e:	8a c3                	mov    %bl,%al
45a570:	eb 3e                	jmp    0x45a5b0
45a572:	38 75 ff             	cmp    %dh,-0x1(%ebp)
45a575:	75 2e                	jne    0x45a5a5
45a577:	3a d0                	cmp    %al,%dl
45a579:	75 2a                	jne    0x45a5a5
45a57b:	ff 75 14             	push   0x14(%ebp)
45a57e:	53                   	push   %ebx
45a57f:	ff 77 04             	push   0x4(%edi)
45a582:	ff 37                	push   (%edi)
45a584:	e8 96 d9 ff ff       	call   0x457f1f
45a589:	ff 76 0c             	push   0xc(%esi)
45a58c:	8a d8                	mov    %al,%bl
45a58e:	ff 75 f8             	push   -0x8(%ebp)
45a591:	ff 77 04             	push   0x4(%edi)
45a594:	ff 37                	push   (%edi)
45a596:	e8 84 d9 ff ff       	call   0x457f1f
45a59b:	83 c4 20             	add    $0x20,%esp
45a59e:	3a c3                	cmp    %bl,%al
45a5a0:	0f 94 c0             	sete   %al
45a5a3:	eb 0b                	jmp    0x45a5b0
45a5a5:	32 c0                	xor    %al,%al
45a5a7:	eb 07                	jmp    0x45a5b0
45a5a9:	33 c0                	xor    %eax,%eax
45a5ab:	3a f2                	cmp    %dl,%dh
45a5ad:	0f 94 c0             	sete   %al
45a5b0:	5f                   	pop    %edi
45a5b1:	5e                   	pop    %esi
45a5b2:	5b                   	pop    %ebx
45a5b3:	8b e5                	mov    %ebp,%esp
45a5b5:	5d                   	pop    %ebp
45a5b6:	c2 10 00             	ret    $0x10
45a5b9:	8b ff                	mov    %edi,%edi
45a5bb:	55                   	push   %ebp
45a5bc:	8b ec                	mov    %esp,%ebp
45a5be:	51                   	push   %ecx
45a5bf:	51                   	push   %ecx
45a5c0:	53                   	push   %ebx
45a5c1:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a5c4:	56                   	push   %esi
45a5c5:	8b 75 08             	mov    0x8(%ebp),%esi
45a5c8:	57                   	push   %edi
45a5c9:	8b f9                	mov    %ecx,%edi
45a5cb:	8a 4e 04             	mov    0x4(%esi),%cl
45a5ce:	80 f9 70             	cmp    $0x70,%cl
45a5d1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45a5d4:	0f 94 c6             	sete   %dh
45a5d7:	80 fb 70             	cmp    $0x70,%bl
45a5da:	0f 94 c2             	sete   %dl
45a5dd:	84 f6                	test   %dh,%dh
45a5df:	0f 85 f2 00 00 00    	jne    0x45a6d7
45a5e5:	84 d2                	test   %dl,%dl
45a5e7:	0f 85 ea 00 00 00    	jne    0x45a6d7
45a5ed:	33 c0                	xor    %eax,%eax
45a5ef:	80 f9 73             	cmp    $0x73,%cl
45a5f2:	74 08                	je     0x45a5fc
45a5f4:	88 45 ff             	mov    %al,-0x1(%ebp)
45a5f7:	80 f9 53             	cmp    $0x53,%cl
45a5fa:	75 04                	jne    0x45a600
45a5fc:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45a600:	80 fb 73             	cmp    $0x73,%bl
45a603:	74 07                	je     0x45a60c
45a605:	8a f0                	mov    %al,%dh
45a607:	80 fb 53             	cmp    $0x53,%bl
45a60a:	75 02                	jne    0x45a60e
45a60c:	b6 01                	mov    $0x1,%dh
45a60e:	80 f9 63             	cmp    $0x63,%cl
45a611:	74 07                	je     0x45a61a
45a613:	8a d0                	mov    %al,%dl
45a615:	80 f9 43             	cmp    $0x43,%cl
45a618:	75 02                	jne    0x45a61c
45a61a:	b2 01                	mov    $0x1,%dl
45a61c:	80 fb 63             	cmp    $0x63,%bl
45a61f:	74 05                	je     0x45a626
45a621:	80 fb 43             	cmp    $0x43,%bl
45a624:	75 02                	jne    0x45a628
45a626:	b0 01                	mov    $0x1,%al
45a628:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
45a62c:	75 72                	jne    0x45a6a0
45a62e:	84 f6                	test   %dh,%dh
45a630:	0f 85 9d 00 00 00    	jne    0x45a6d3
45a636:	84 d2                	test   %dl,%dl
45a638:	75 6b                	jne    0x45a6a5
45a63a:	84 c0                	test   %al,%al
45a63c:	0f 85 91 00 00 00    	jne    0x45a6d3
45a642:	51                   	push   %ecx
45a643:	e8 86 d7 ff ff       	call   0x457dce
45a648:	53                   	push   %ebx
45a649:	88 45 ff             	mov    %al,-0x1(%ebp)
45a64c:	e8 7d d7 ff ff       	call   0x457dce
45a651:	59                   	pop    %ecx
45a652:	59                   	pop    %ecx
45a653:	8a 4d ff             	mov    -0x1(%ebp),%cl
45a656:	84 c9                	test   %cl,%cl
45a658:	75 0d                	jne    0x45a667
45a65a:	84 c0                	test   %al,%al
45a65c:	75 75                	jne    0x45a6d3
45a65e:	8b 0e                	mov    (%esi),%ecx
45a660:	33 c0                	xor    %eax,%eax
45a662:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
45a665:	eb 74                	jmp    0x45a6db
45a667:	3a c8                	cmp    %al,%cl
45a669:	75 68                	jne    0x45a6d3
45a66b:	33 c9                	xor    %ecx,%ecx
45a66d:	83 7e 0c 09          	cmpl   $0x9,0xc(%esi)
45a671:	0f 94 c1             	sete   %cl
45a674:	33 c0                	xor    %eax,%eax
45a676:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
45a67a:	0f 94 c0             	sete   %al
45a67d:	3b c8                	cmp    %eax,%ecx
45a67f:	75 52                	jne    0x45a6d3
45a681:	ff 76 0c             	push   0xc(%esi)
45a684:	e8 6c 55 00 00       	call   0x45fbf5
45a689:	ff 75 14             	push   0x14(%ebp)
45a68c:	8b d8                	mov    %eax,%ebx
45a68e:	e8 62 55 00 00       	call   0x45fbf5
45a693:	2b d8                	sub    %eax,%ebx
45a695:	f7 db                	neg    %ebx
45a697:	59                   	pop    %ecx
45a698:	1b db                	sbb    %ebx,%ebx
45a69a:	43                   	inc    %ebx
45a69b:	59                   	pop    %ecx
45a69c:	8a c3                	mov    %bl,%al
45a69e:	eb 3e                	jmp    0x45a6de
45a6a0:	38 75 ff             	cmp    %dh,-0x1(%ebp)
45a6a3:	75 2e                	jne    0x45a6d3
45a6a5:	3a d0                	cmp    %al,%dl
45a6a7:	75 2a                	jne    0x45a6d3
45a6a9:	ff 75 14             	push   0x14(%ebp)
45a6ac:	53                   	push   %ebx
45a6ad:	ff 77 04             	push   0x4(%edi)
45a6b0:	ff 37                	push   (%edi)
45a6b2:	e8 68 d8 ff ff       	call   0x457f1f
45a6b7:	ff 76 0c             	push   0xc(%esi)
45a6ba:	8a d8                	mov    %al,%bl
45a6bc:	ff 75 f8             	push   -0x8(%ebp)
45a6bf:	ff 77 04             	push   0x4(%edi)
45a6c2:	ff 37                	push   (%edi)
45a6c4:	e8 56 d8 ff ff       	call   0x457f1f
45a6c9:	83 c4 20             	add    $0x20,%esp
45a6cc:	3a c3                	cmp    %bl,%al
45a6ce:	0f 94 c0             	sete   %al
45a6d1:	eb 0b                	jmp    0x45a6de
45a6d3:	32 c0                	xor    %al,%al
45a6d5:	eb 07                	jmp    0x45a6de
45a6d7:	33 c0                	xor    %eax,%eax
45a6d9:	3a f2                	cmp    %dl,%dh
45a6db:	0f 94 c0             	sete   %al
45a6de:	5f                   	pop    %edi
45a6df:	5e                   	pop    %esi
45a6e0:	5b                   	pop    %ebx
45a6e1:	8b e5                	mov    %ebp,%esp
45a6e3:	5d                   	pop    %ebp
45a6e4:	c2 10 00             	ret    $0x10
45a6e7:	8b ff                	mov    %edi,%edi
45a6e9:	55                   	push   %ebp
45a6ea:	8b ec                	mov    %esp,%ebp
45a6ec:	51                   	push   %ecx
45a6ed:	51                   	push   %ecx
45a6ee:	53                   	push   %ebx
45a6ef:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a6f2:	56                   	push   %esi
45a6f3:	8b 75 08             	mov    0x8(%ebp),%esi
45a6f6:	57                   	push   %edi
45a6f7:	6a 70                	push   $0x70
45a6f9:	58                   	pop    %eax
45a6fa:	0f b7 7e 04          	movzwl 0x4(%esi),%edi
45a6fe:	66 3b f8             	cmp    %ax,%di
45a701:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45a704:	0f 94 c2             	sete   %dl
45a707:	66 3b d8             	cmp    %ax,%bx
45a70a:	0f 94 c1             	sete   %cl
45a70d:	84 d2                	test   %dl,%dl
45a70f:	0f 85 e5 00 00 00    	jne    0x45a7fa
45a715:	84 c9                	test   %cl,%cl
45a717:	0f 85 dd 00 00 00    	jne    0x45a7fa
45a71d:	57                   	push   %edi
45a71e:	e8 c4 d7 ff ff       	call   0x457ee7
45a723:	53                   	push   %ebx
45a724:	88 45 fd             	mov    %al,-0x3(%ebp)
45a727:	e8 bb d7 ff ff       	call   0x457ee7
45a72c:	57                   	push   %edi
45a72d:	88 45 ff             	mov    %al,-0x1(%ebp)
45a730:	e8 34 d6 ff ff       	call   0x457d69
45a735:	53                   	push   %ebx
45a736:	88 45 fe             	mov    %al,-0x2(%ebp)
45a739:	e8 2b d6 ff ff       	call   0x457d69
45a73e:	8a 4d fd             	mov    -0x3(%ebp),%cl
45a741:	83 c4 10             	add    $0x10,%esp
45a744:	84 c9                	test   %cl,%cl
45a746:	75 74                	jne    0x45a7bc
45a748:	38 4d ff             	cmp    %cl,-0x1(%ebp)
45a74b:	0f 85 a5 00 00 00    	jne    0x45a7f6
45a751:	8a 4d fe             	mov    -0x2(%ebp),%cl
45a754:	84 c9                	test   %cl,%cl
45a756:	75 6c                	jne    0x45a7c4
45a758:	84 c0                	test   %al,%al
45a75a:	0f 85 96 00 00 00    	jne    0x45a7f6
45a760:	57                   	push   %edi
45a761:	e8 95 d6 ff ff       	call   0x457dfb
45a766:	ff 75 10             	push   0x10(%ebp)
45a769:	8a d8                	mov    %al,%bl
45a76b:	e8 8b d6 ff ff       	call   0x457dfb
45a770:	59                   	pop    %ecx
45a771:	59                   	pop    %ecx
45a772:	84 db                	test   %bl,%bl
45a774:	75 0d                	jne    0x45a783
45a776:	84 c0                	test   %al,%al
45a778:	75 7c                	jne    0x45a7f6
45a77a:	8b 0e                	mov    (%esi),%ecx
45a77c:	33 c0                	xor    %eax,%eax
45a77e:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
45a781:	eb 7b                	jmp    0x45a7fe
45a783:	3a d8                	cmp    %al,%bl
45a785:	75 6f                	jne    0x45a7f6
45a787:	33 c9                	xor    %ecx,%ecx
45a789:	83 7e 0c 09          	cmpl   $0x9,0xc(%esi)
45a78d:	0f 94 c1             	sete   %cl
45a790:	33 c0                	xor    %eax,%eax
45a792:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
45a796:	0f 94 c0             	sete   %al
45a799:	3b c8                	cmp    %eax,%ecx
45a79b:	75 59                	jne    0x45a7f6
45a79d:	ff 76 0c             	push   0xc(%esi)
45a7a0:	e8 50 54 00 00       	call   0x45fbf5
45a7a5:	ff 75 14             	push   0x14(%ebp)
45a7a8:	8b d8                	mov    %eax,%ebx
45a7aa:	e8 46 54 00 00       	call   0x45fbf5
45a7af:	2b d8                	sub    %eax,%ebx
45a7b1:	f7 db                	neg    %ebx
45a7b3:	59                   	pop    %ecx
45a7b4:	1b db                	sbb    %ebx,%ebx
45a7b6:	43                   	inc    %ebx
45a7b7:	59                   	pop    %ecx
45a7b8:	8a c3                	mov    %bl,%al
45a7ba:	eb 45                	jmp    0x45a801
45a7bc:	3a 4d ff             	cmp    -0x1(%ebp),%cl
45a7bf:	75 35                	jne    0x45a7f6
45a7c1:	8a 4d fe             	mov    -0x2(%ebp),%cl
45a7c4:	3a c8                	cmp    %al,%cl
45a7c6:	75 2e                	jne    0x45a7f6
45a7c8:	ff 75 14             	push   0x14(%ebp)
45a7cb:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a7ce:	53                   	push   %ebx
45a7cf:	ff 70 04             	push   0x4(%eax)
45a7d2:	ff 30                	push   (%eax)
45a7d4:	e8 86 d7 ff ff       	call   0x457f5f
45a7d9:	ff 76 0c             	push   0xc(%esi)
45a7dc:	8a d8                	mov    %al,%bl
45a7de:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a7e1:	57                   	push   %edi
45a7e2:	ff 70 04             	push   0x4(%eax)
45a7e5:	ff 30                	push   (%eax)
45a7e7:	e8 73 d7 ff ff       	call   0x457f5f
45a7ec:	83 c4 20             	add    $0x20,%esp
45a7ef:	3a c3                	cmp    %bl,%al
45a7f1:	0f 94 c0             	sete   %al
45a7f4:	eb 0b                	jmp    0x45a801
45a7f6:	32 c0                	xor    %al,%al
45a7f8:	eb 07                	jmp    0x45a801
45a7fa:	33 c0                	xor    %eax,%eax
45a7fc:	3a d1                	cmp    %cl,%dl
45a7fe:	0f 94 c0             	sete   %al
45a801:	5f                   	pop    %edi
45a802:	5e                   	pop    %esi