438435:	c3                   	ret
438436:	55                   	push   %ebp
438437:	8b ec                	mov    %esp,%ebp
438439:	83 ec 0c             	sub    $0xc,%esp
43843c:	9b d9 7d fc          	fstcw  -0x4(%ebp)
438440:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
438444:	33 c9                	xor    %ecx,%ecx
438446:	a8 01                	test   $0x1,%al
438448:	74 03                	je     0x43844d
43844a:	6a 10                	push   $0x10
43844c:	59                   	pop    %ecx
43844d:	a8 04                	test   $0x4,%al
43844f:	74 03                	je     0x438454
438451:	83 c9 08             	or     $0x8,%ecx
438454:	a8 08                	test   $0x8,%al
438456:	74 03                	je     0x43845b
438458:	83 c9 04             	or     $0x4,%ecx
43845b:	a8 10                	test   $0x10,%al
43845d:	74 03                	je     0x438462
43845f:	83 c9 02             	or     $0x2,%ecx
438462:	a8 20                	test   $0x20,%al
438464:	74 03                	je     0x438469
438466:	83 c9 01             	or     $0x1,%ecx
438469:	a8 02                	test   $0x2,%al
43846b:	74 06                	je     0x438473
43846d:	81 c9 00 00 08 00    	or     $0x80000,%ecx
438473:	53                   	push   %ebx
438474:	56                   	push   %esi
438475:	0f b7 f0             	movzwl %ax,%esi
438478:	8b d6                	mov    %esi,%edx
43847a:	bb 00 0c 00 00       	mov    $0xc00,%ebx
43847f:	57                   	push   %edi
438480:	bf 00 02 00 00       	mov    $0x200,%edi
438485:	23 d3                	and    %ebx,%edx
438487:	74 26                	je     0x4384af
438489:	81 fa 00 04 00 00    	cmp    $0x400,%edx
43848f:	74 18                	je     0x4384a9
438491:	81 fa 00 08 00 00    	cmp    $0x800,%edx
438497:	74 0c                	je     0x4384a5
438499:	3b d3                	cmp    %ebx,%edx
43849b:	75 12                	jne    0x4384af
43849d:	81 c9 00 03 00 00    	or     $0x300,%ecx
4384a3:	eb 0a                	jmp    0x4384af
4384a5:	0b cf                	or     %edi,%ecx
4384a7:	eb 06                	jmp    0x4384af
4384a9:	81 c9 00 01 00 00    	or     $0x100,%ecx
4384af:	81 e6 00 03 00 00    	and    $0x300,%esi
4384b5:	74 0c                	je     0x4384c3
4384b7:	3b f7                	cmp    %edi,%esi
4384b9:	75 0e                	jne    0x4384c9
4384bb:	81 c9 00 00 01 00    	or     $0x10000,%ecx
4384c1:	eb 06                	jmp    0x4384c9
4384c3:	81 c9 00 00 02 00    	or     $0x20000,%ecx
4384c9:	0f b7 c0             	movzwl %ax,%eax
4384cc:	ba 00 10 00 00       	mov    $0x1000,%edx
4384d1:	85 c2                	test   %eax,%edx
4384d3:	74 06                	je     0x4384db
4384d5:	81 c9 00 00 04 00    	or     $0x40000,%ecx
4384db:	8b 7d 0c             	mov    0xc(%ebp),%edi
4384de:	8b 45 08             	mov    0x8(%ebp),%eax
4384e1:	8b f7                	mov    %edi,%esi
4384e3:	f7 d6                	not    %esi
4384e5:	23 f1                	and    %ecx,%esi
4384e7:	23 c7                	and    %edi,%eax
4384e9:	0b f0                	or     %eax,%esi
4384eb:	3b f1                	cmp    %ecx,%esi
4384ed:	0f 84 a6 00 00 00    	je     0x438599
4384f3:	56                   	push   %esi
4384f4:	e8 3d 02 00 00       	call   0x438736
4384f9:	0f b7 c0             	movzwl %ax,%eax
4384fc:	59                   	pop    %ecx
4384fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
438500:	d9 6d f8             	fldcw  -0x8(%ebp)
438503:	9b d9 7d f8          	fstcw  -0x8(%ebp)
438507:	8b 45 f8             	mov    -0x8(%ebp),%eax
43850a:	33 f6                	xor    %esi,%esi
43850c:	a8 01                	test   $0x1,%al
43850e:	74 03                	je     0x438513
438510:	6a 10                	push   $0x10
438512:	5e                   	pop    %esi
438513:	a8 04                	test   $0x4,%al
438515:	74 03                	je     0x43851a
438517:	83 ce 08             	or     $0x8,%esi
43851a:	a8 08                	test   $0x8,%al
43851c:	74 03                	je     0x438521
43851e:	83 ce 04             	or     $0x4,%esi
438521:	a8 10                	test   $0x10,%al
438523:	74 03                	je     0x438528
438525:	83 ce 02             	or     $0x2,%esi
438528:	a8 20                	test   $0x20,%al
43852a:	74 03                	je     0x43852f
43852c:	83 ce 01             	or     $0x1,%esi
43852f:	a8 02                	test   $0x2,%al
438531:	74 06                	je     0x438539
438533:	81 ce 00 00 08 00    	or     $0x80000,%esi
438539:	0f b7 d0             	movzwl %ax,%edx
43853c:	8b ca                	mov    %edx,%ecx
43853e:	23 cb                	and    %ebx,%ecx
438540:	74 2a                	je     0x43856c
438542:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
438548:	74 1c                	je     0x438566
43854a:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
438550:	74 0c                	je     0x43855e
438552:	3b cb                	cmp    %ebx,%ecx
438554:	75 16                	jne    0x43856c
438556:	81 ce 00 03 00 00    	or     $0x300,%esi
43855c:	eb 0e                	jmp    0x43856c
43855e:	81 ce 00 02 00 00    	or     $0x200,%esi
438564:	eb 06                	jmp    0x43856c
438566:	81 ce 00 01 00 00    	or     $0x100,%esi
43856c:	81 e2 00 03 00 00    	and    $0x300,%edx
438572:	74 10                	je     0x438584
438574:	81 fa 00 02 00 00    	cmp    $0x200,%edx
43857a:	75 0e                	jne    0x43858a
43857c:	81 ce 00 00 01 00    	or     $0x10000,%esi
438582:	eb 06                	jmp    0x43858a
438584:	81 ce 00 00 02 00    	or     $0x20000,%esi
43858a:	ba 00 10 00 00       	mov    $0x1000,%edx
43858f:	85 c2                	test   %eax,%edx
438591:	74 06                	je     0x438599
438593:	81 ce 00 00 04 00    	or     $0x40000,%esi
438599:	83 3d 54 01 4c 00 01 	cmpl   $0x1,0x4c0154
4385a0:	0f 8c 89 01 00 00    	jl     0x43872f
4385a6:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
4385ac:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
4385b0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4385b3:	33 c9                	xor    %ecx,%ecx
4385b5:	84 c0                	test   %al,%al
4385b7:	79 03                	jns    0x4385bc
4385b9:	6a 10                	push   $0x10
4385bb:	59                   	pop    %ecx
4385bc:	a9 00 02 00 00       	test   $0x200,%eax
4385c1:	74 03                	je     0x4385c6
4385c3:	83 c9 08             	or     $0x8,%ecx
4385c6:	a9 00 04 00 00       	test   $0x400,%eax
4385cb:	74 03                	je     0x4385d0
4385cd:	83 c9 04             	or     $0x4,%ecx
4385d0:	a9 00 08 00 00       	test   $0x800,%eax
4385d5:	74 03                	je     0x4385da
4385d7:	83 c9 02             	or     $0x2,%ecx
4385da:	85 c2                	test   %eax,%edx
4385dc:	74 03                	je     0x4385e1
4385de:	83 c9 01             	or     $0x1,%ecx
4385e1:	a9 00 01 00 00       	test   $0x100,%eax
4385e6:	74 06                	je     0x4385ee
4385e8:	81 c9 00 00 08 00    	or     $0x80000,%ecx
4385ee:	8b d0                	mov    %eax,%edx
4385f0:	bb 00 60 00 00       	mov    $0x6000,%ebx
4385f5:	23 d3                	and    %ebx,%edx
4385f7:	74 2a                	je     0x438623
4385f9:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
4385ff:	74 1c                	je     0x43861d
438601:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
438607:	74 0c                	je     0x438615
438609:	3b d3                	cmp    %ebx,%edx
43860b:	75 16                	jne    0x438623
43860d:	81 c9 00 03 00 00    	or     $0x300,%ecx
438613:	eb 0e                	jmp    0x438623
438615:	81 c9 00 02 00 00    	or     $0x200,%ecx
43861b:	eb 06                	jmp    0x438623
43861d:	81 c9 00 01 00 00    	or     $0x100,%ecx
438623:	6a 40                	push   $0x40
438625:	25 40 80 00 00       	and    $0x8040,%eax
43862a:	5b                   	pop    %ebx
43862b:	2b c3                	sub    %ebx,%eax
43862d:	74 1b                	je     0x43864a
43862f:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
438634:	74 0c                	je     0x438642
438636:	2b c3                	sub    %ebx,%eax
438638:	75 16                	jne    0x438650
43863a:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
438640:	eb 0e                	jmp    0x438650
438642:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
438648:	eb 06                	jmp    0x438650
43864a:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
438650:	8b c7                	mov    %edi,%eax
438652:	23 7d 08             	and    0x8(%ebp),%edi
438655:	f7 d0                	not    %eax
438657:	23 c1                	and    %ecx,%eax
438659:	0b c7                	or     %edi,%eax
43865b:	3b c1                	cmp    %ecx,%eax
43865d:	0f 84 b5 00 00 00    	je     0x438718
438663:	50                   	push   %eax
438664:	e8 24 fd ff ff       	call   0x43838d
438669:	50                   	push   %eax
43866a:	89 45 0c             	mov    %eax,0xc(%ebp)
43866d:	e8 ff 49 ff ff       	call   0x42d071
438672:	59                   	pop    %ecx
438673:	59                   	pop    %ecx
438674:	0f ae 5d 0c          	stmxcsr 0xc(%ebp)
438678:	8b 45 0c             	mov    0xc(%ebp),%eax
43867b:	33 c9                	xor    %ecx,%ecx
43867d:	84 c0                	test   %al,%al
43867f:	79 03                	jns    0x438684
438681:	6a 10                	push   $0x10
438683:	59                   	pop    %ecx
438684:	a9 00 02 00 00       	test   $0x200,%eax
438689:	74 03                	je     0x43868e
43868b:	83 c9 08             	or     $0x8,%ecx
43868e:	a9 00 04 00 00       	test   $0x400,%eax
438693:	74 03                	je     0x438698
438695:	83 c9 04             	or     $0x4,%ecx
438698:	a9 00 08 00 00       	test   $0x800,%eax
43869d:	74 03                	je     0x4386a2
43869f:	83 c9 02             	or     $0x2,%ecx
4386a2:	a9 00 10 00 00       	test   $0x1000,%eax
4386a7:	74 03                	je     0x4386ac
4386a9:	83 c9 01             	or     $0x1,%ecx
4386ac:	a9 00 01 00 00       	test   $0x100,%eax
4386b1:	74 06                	je     0x4386b9
4386b3:	81 c9 00 00 08 00    	or     $0x80000,%ecx
4386b9:	8b d0                	mov    %eax,%edx
4386bb:	bf 00 60 00 00       	mov    $0x6000,%edi
4386c0:	23 d7                	and    %edi,%edx
4386c2:	74 2a                	je     0x4386ee
4386c4:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
4386ca:	74 1c                	je     0x4386e8
4386cc:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
4386d2:	74 0c                	je     0x4386e0
4386d4:	3b d7                	cmp    %edi,%edx
4386d6:	75 16                	jne    0x4386ee
4386d8:	81 c9 00 03 00 00    	or     $0x300,%ecx
4386de:	eb 0e                	jmp    0x4386ee
4386e0:	81 c9 00 02 00 00    	or     $0x200,%ecx
4386e6:	eb 06                	jmp    0x4386ee
4386e8:	81 c9 00 01 00 00    	or     $0x100,%ecx
4386ee:	25 40 80 00 00       	and    $0x8040,%eax
4386f3:	2b c3                	sub    %ebx,%eax
4386f5:	74 1b                	je     0x438712
4386f7:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
4386fc:	74 0c                	je     0x43870a
4386fe:	2b c3                	sub    %ebx,%eax
438700:	75 16                	jne    0x438718
438702:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
438708:	eb 0e                	jmp    0x438718
43870a:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
438710:	eb 06                	jmp    0x438718
438712:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
438718:	8b c1                	mov    %ecx,%eax
43871a:	33 c6                	xor    %esi,%eax
43871c:	0b ce                	or     %esi,%ecx
43871e:	a9 1f 03 08 00       	test   $0x8031f,%eax
438723:	74 06                	je     0x43872b
438725:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
43872b:	8b c1                	mov    %ecx,%eax
43872d:	eb 02                	jmp    0x438731
43872f:	8b c6                	mov    %esi,%eax
438731:	5f                   	pop    %edi
438732:	5e                   	pop    %esi
438733:	5b                   	pop    %ebx
438734:	c9                   	leave
438735:	c3                   	ret
438736:	55                   	push   %ebp
438737:	8b ec                	mov    %esp,%ebp
438739:	8b 4d 08             	mov    0x8(%ebp),%ecx
43873c:	33 c0                	xor    %eax,%eax
43873e:	f6 c1 10             	test   $0x10,%cl
438741:	74 01                	je     0x438744
438743:	40                   	inc    %eax
438744:	f6 c1 08             	test   $0x8,%cl
438747:	74 03                	je     0x43874c
438749:	83 c8 04             	or     $0x4,%eax
43874c:	f6 c1 04             	test   $0x4,%cl
43874f:	74 03                	je     0x438754
438751:	83 c8 08             	or     $0x8,%eax
438754:	f6 c1 02             	test   $0x2,%cl
438757:	74 03                	je     0x43875c
438759:	83 c8 10             	or     $0x10,%eax
43875c:	f6 c1 01             	test   $0x1,%cl
43875f:	74 03                	je     0x438764
438761:	83 c8 20             	or     $0x20,%eax
438764:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
43876a:	74 03                	je     0x43876f
43876c:	83 c8 02             	or     $0x2,%eax
43876f:	56                   	push   %esi
438770:	8b d1                	mov    %ecx,%edx
438772:	be 00 03 00 00       	mov    $0x300,%esi
438777:	57                   	push   %edi
438778:	bf 00 02 00 00       	mov    $0x200,%edi
43877d:	23 d6                	and    %esi,%edx
43877f:	74 23                	je     0x4387a4
438781:	81 fa 00 01 00 00    	cmp    $0x100,%edx
438787:	74 16                	je     0x43879f
438789:	3b d7                	cmp    %edi,%edx
43878b:	74 0b                	je     0x438798
43878d:	3b d6                	cmp    %esi,%edx
43878f:	75 13                	jne    0x4387a4
438791:	0d 00 0c 00 00       	or     $0xc00,%eax
438796:	eb 0c                	jmp    0x4387a4
438798:	0d 00 08 00 00       	or     $0x800,%eax
43879d:	eb 05                	jmp    0x4387a4
43879f:	0d 00 04 00 00       	or     $0x400,%eax
4387a4:	8b d1                	mov    %ecx,%edx
4387a6:	81 e2 00 00 03 00    	and    $0x30000,%edx
4387ac:	74 0c                	je     0x4387ba
4387ae:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
4387b4:	75 06                	jne    0x4387bc
4387b6:	0b c7                	or     %edi,%eax
4387b8:	eb 02                	jmp    0x4387bc
4387ba:	0b c6                	or     %esi,%eax
4387bc:	5f                   	pop    %edi
4387bd:	5e                   	pop    %esi
4387be:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
4387c4:	74 05                	je     0x4387cb
4387c6:	0d 00 10 00 00       	or     $0x1000,%eax
4387cb:	5d                   	pop    %ebp
4387cc:	c3                   	ret
4387cd:	55                   	push   %ebp
4387ce:	8b ec                	mov    %esp,%ebp
4387d0:	83 ec 0c             	sub    $0xc,%esp
4387d3:	8b 45 08             	mov    0x8(%ebp),%eax
4387d6:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4387da:	57                   	push   %edi
4387db:	85 c0                	test   %eax,%eax
4387dd:	75 15                	jne    0x4387f4
4387df:	e8 2a f4 fe ff       	call   0x427c0e
4387e4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4387ea:	e8 21 e6 fe ff       	call   0x426e10
4387ef:	83 c8 ff             	or     $0xffffffff,%eax
4387f2:	eb 74                	jmp    0x438868
4387f4:	53                   	push   %ebx
4387f5:	8b 18                	mov    (%eax),%ebx
4387f7:	56                   	push   %esi
4387f8:	85 db                	test   %ebx,%ebx
4387fa:	74 5c                	je     0x438858
4387fc:	6a 3d                	push   $0x3d
4387fe:	53                   	push   %ebx
4387ff:	e8 a9 06 00 00       	call   0x438ead
438804:	8b f0                	mov    %eax,%esi
438806:	59                   	pop    %ecx
438807:	59                   	pop    %ecx
438808:	89 75 f4             	mov    %esi,-0xc(%ebp)
43880b:	85 f6                	test   %esi,%esi
43880d:	74 49                	je     0x438858
43880f:	3b de                	cmp    %esi,%ebx
438811:	74 45                	je     0x438858
438813:	8b 3d 24 01 4c 00    	mov    0x4c0124,%edi
438819:	33 c0                	xor    %eax,%eax
43881b:	38 46 01             	cmp    %al,0x1(%esi)
43881e:	0f 94 c0             	sete   %al
438821:	89 45 fc             	mov    %eax,-0x4(%ebp)
438824:	3b 3d 10 01 4c 00    	cmp    0x4c0110,%edi
43882a:	75 12                	jne    0x43883e
43882c:	57                   	push   %edi
43882d:	e8 e1 01 00 00       	call   0x438a13
438832:	8b f8                	mov    %eax,%edi
438834:	8b 45 fc             	mov    -0x4(%ebp),%eax
438837:	59                   	pop    %ecx
438838:	89 3d 24 01 4c 00    	mov    %edi,0x4c0124
43883e:	85 ff                	test   %edi,%edi