43869a:	6a 00                	push   $0x0
43869c:	1b c9                	sbb    %ecx,%ecx
43869e:	83 e0 02             	and    $0x2,%eax
4386a1:	83 e1 20             	and    $0x20,%ecx
4386a4:	f7 d8                	neg    %eax
4386a6:	1b c0                	sbb    %eax,%eax
4386a8:	83 e0 10             	and    $0x10,%eax
4386ab:	0b c8                	or     %eax,%ecx
4386ad:	8b c6                	mov    %esi,%eax
4386af:	83 e0 04             	and    $0x4,%eax
4386b2:	f7 d8                	neg    %eax
4386b4:	1b c0                	sbb    %eax,%eax
4386b6:	83 e0 08             	and    $0x8,%eax
4386b9:	0b c8                	or     %eax,%ecx
4386bb:	8b c6                	mov    %esi,%eax
4386bd:	83 e0 08             	and    $0x8,%eax
4386c0:	f7 d8                	neg    %eax
4386c2:	1b c0                	sbb    %eax,%eax
4386c4:	83 e0 04             	and    $0x4,%eax
4386c7:	0b c8                	or     %eax,%ecx
4386c9:	f7 c6 10 00 00 00    	test   $0x10,%esi
4386cf:	58                   	pop    %eax
4386d0:	0f 95 c0             	setne  %al
4386d3:	0b c8                	or     %eax,%ecx
4386d5:	83 e6 20             	and    $0x20,%esi
4386d8:	f7 de                	neg    %esi
4386da:	5f                   	pop    %edi
4386db:	1b f6                	sbb    %esi,%esi
4386dd:	83 e6 02             	and    $0x2,%esi
4386e0:	0b ce                	or     %esi,%ecx
4386e2:	83 3d bc 68 45 00 01 	cmpl   $0x1,0x4568bc
4386e9:	5e                   	pop    %esi
4386ea:	7c 16                	jl     0x438702
4386ec:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
4386f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4386f3:	83 e1 3f             	and    $0x3f,%ecx
4386f6:	83 e0 c0             	and    $0xffffffc0,%eax
4386f9:	0b c1                	or     %ecx,%eax
4386fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4386fe:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
438702:	c9                   	leave
438703:	c3                   	ret
438704:	8b ff                	mov    %edi,%edi
438706:	55                   	push   %ebp
438707:	8b ec                	mov    %esp,%ebp
438709:	51                   	push   %ecx
43870a:	51                   	push   %ecx
43870b:	56                   	push   %esi
43870c:	57                   	push   %edi
43870d:	e8 2f f7 fe ff       	call   0x427e41
438712:	8b f8                	mov    %eax,%edi
438714:	85 ff                	test   %edi,%edi
438716:	74 60                	je     0x438778
438718:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43871c:	74 5a                	je     0x438778
43871e:	8b 75 08             	mov    0x8(%ebp),%esi
438721:	33 d2                	xor    %edx,%edx
438723:	89 55 fc             	mov    %edx,-0x4(%ebp)
438726:	8d 4e 02             	lea    0x2(%esi),%ecx
438729:	66 8b 06             	mov    (%esi),%ax
43872c:	83 c6 02             	add    $0x2,%esi
43872f:	66 3b c2             	cmp    %dx,%ax
438732:	75 f5                	jne    0x438729
438734:	2b f1                	sub    %ecx,%esi
438736:	d1 fe                	sar    $1,%esi
438738:	eb 38                	jmp    0x438772
43873a:	8b ca                	mov    %edx,%ecx
43873c:	8d 41 02             	lea    0x2(%ecx),%eax
43873f:	89 45 f8             	mov    %eax,-0x8(%ebp)
438742:	66 8b 01             	mov    (%ecx),%ax
438745:	83 c1 02             	add    $0x2,%ecx
438748:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
43874c:	75 f4                	jne    0x438742
43874e:	2b 4d f8             	sub    -0x8(%ebp),%ecx
438751:	d1 f9                	sar    $1,%ecx
438753:	3b ce                	cmp    %esi,%ecx
438755:	76 18                	jbe    0x43876f
438757:	66 83 3c 72 3d       	cmpw   $0x3d,(%edx,%esi,2)
43875c:	75 11                	jne    0x43876f
43875e:	56                   	push   %esi
43875f:	ff 75 08             	push   0x8(%ebp)
438762:	52                   	push   %edx
438763:	e8 67 0b 00 00       	call   0x4392cf
438768:	83 c4 0c             	add    $0xc,%esp
43876b:	85 c0                	test   %eax,%eax
43876d:	74 0f                	je     0x43877e
43876f:	83 c7 04             	add    $0x4,%edi
438772:	8b 17                	mov    (%edi),%edx
438774:	85 d2                	test   %edx,%edx
438776:	75 c2                	jne    0x43873a
438778:	33 c0                	xor    %eax,%eax
43877a:	5f                   	pop    %edi
43877b:	5e                   	pop    %esi
43877c:	c9                   	leave
43877d:	c3                   	ret
43877e:	8b 07                	mov    (%edi),%eax
438780:	8d 04 70             	lea    (%eax,%esi,2),%eax
438783:	83 c0 02             	add    $0x2,%eax
438786:	eb f2                	jmp    0x43877a
438788:	6a 0c                	push   $0xc
43878a:	68 70 34 45 00       	push   $0x453470
43878f:	e8 7c 21 fe ff       	call   0x41a910
438794:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
438798:	6a 0b                	push   $0xb
43879a:	e8 02 e1 fe ff       	call   0x4268a1
43879f:	59                   	pop    %ecx
4387a0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4387a4:	ff 75 14             	push   0x14(%ebp)
4387a7:	ff 75 10             	push   0x10(%ebp)
4387aa:	ff 75 0c             	push   0xc(%ebp)
4387ad:	ff 75 08             	push   0x8(%ebp)
4387b0:	e8 32 00 00 00       	call   0x4387e7
4387b5:	83 c4 10             	add    $0x10,%esp
4387b8:	8b f0                	mov    %eax,%esi
4387ba:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4387bd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4387c4:	e8 15 00 00 00       	call   0x4387de
4387c9:	8b c6                	mov    %esi,%eax
4387cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4387ce:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4387d5:	59                   	pop    %ecx
4387d6:	5f                   	pop    %edi
4387d7:	5e                   	pop    %esi
4387d8:	5b                   	pop    %ebx
4387d9:	c9                   	leave
4387da:	c3                   	ret
4387db:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4387de:	6a 0b                	push   $0xb
4387e0:	e8 0c e1 fe ff       	call   0x4268f1
4387e5:	59                   	pop    %ecx
4387e6:	c3                   	ret
4387e7:	8b ff                	mov    %edi,%edi
4387e9:	55                   	push   %ebp
4387ea:	8b ec                	mov    %esp,%ebp
4387ec:	51                   	push   %ecx
4387ed:	51                   	push   %ecx
4387ee:	56                   	push   %esi
4387ef:	57                   	push   %edi
4387f0:	8b 7d 08             	mov    0x8(%ebp),%edi
4387f3:	85 ff                	test   %edi,%edi
4387f5:	75 13                	jne    0x43880a
4387f7:	e8 34 b2 fe ff       	call   0x423a30
4387fc:	6a 16                	push   $0x16
4387fe:	5e                   	pop    %esi
4387ff:	89 30                	mov    %esi,(%eax)
438801:	e8 7d 71 fe ff       	call   0x41f983
438806:	8b c6                	mov    %esi,%eax
438808:	eb 7a                	jmp    0x438884
43880a:	8b 75 10             	mov    0x10(%ebp),%esi
43880d:	33 c0                	xor    %eax,%eax
43880f:	53                   	push   %ebx
438810:	8b 5d 0c             	mov    0xc(%ebp),%ebx
438813:	89 45 fc             	mov    %eax,-0x4(%ebp)
438816:	89 07                	mov    %eax,(%edi)
438818:	85 db                	test   %ebx,%ebx
43881a:	74 3f                	je     0x43885b
43881c:	85 f6                	test   %esi,%esi
43881e:	74 3f                	je     0x43885f
438820:	66 89 03             	mov    %ax,(%ebx)
438823:	ff 75 14             	push   0x14(%ebp)
438826:	e8 d9 fe ff ff       	call   0x438704
43882b:	8b d0                	mov    %eax,%edx
43882d:	59                   	pop    %ecx
43882e:	85 d2                	test   %edx,%edx
438830:	74 4f                	je     0x438881
438832:	8b ca                	mov    %edx,%ecx
438834:	8d 41 02             	lea    0x2(%ecx),%eax
438837:	89 45 f8             	mov    %eax,-0x8(%ebp)
43883a:	66 8b 01             	mov    (%ecx),%ax
43883d:	83 c1 02             	add    $0x2,%ecx
438840:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
438844:	75 f4                	jne    0x43883a
438846:	2b 4d f8             	sub    -0x8(%ebp),%ecx
438849:	d1 f9                	sar    $1,%ecx
43884b:	41                   	inc    %ecx
43884c:	89 0f                	mov    %ecx,(%edi)
43884e:	85 f6                	test   %esi,%esi
438850:	74 2f                	je     0x438881
438852:	3b ce                	cmp    %esi,%ecx
438854:	76 1c                	jbe    0x438872
438856:	6a 22                	push   $0x22
438858:	58                   	pop    %eax
438859:	eb 28                	jmp    0x438883
43885b:	85 f6                	test   %esi,%esi
43885d:	74 c4                	je     0x438823
43885f:	e8 cc b1 fe ff       	call   0x423a30
438864:	6a 16                	push   $0x16
438866:	5e                   	pop    %esi
438867:	89 30                	mov    %esi,(%eax)
438869:	e8 15 71 fe ff       	call   0x41f983
43886e:	8b c6                	mov    %esi,%eax
438870:	eb 11                	jmp    0x438883
438872:	52                   	push   %edx
438873:	56                   	push   %esi
438874:	53                   	push   %ebx
438875:	e8 ec af fe ff       	call   0x423866
43887a:	83 c4 0c             	add    $0xc,%esp
43887d:	85 c0                	test   %eax,%eax
43887f:	75 07                	jne    0x438888
438881:	33 c0                	xor    %eax,%eax
438883:	5b                   	pop    %ebx
438884:	5f                   	pop    %edi
438885:	5e                   	pop    %esi
438886:	c9                   	leave
438887:	c3                   	ret
438888:	33 c0                	xor    %eax,%eax
43888a:	50                   	push   %eax
43888b:	50                   	push   %eax
43888c:	50                   	push   %eax
43888d:	50                   	push   %eax
43888e:	50                   	push   %eax
43888f:	e8 1c 71 fe ff       	call   0x41f9b0
438894:	cc                   	int3
438895:	8b ff                	mov    %edi,%edi
438897:	55                   	push   %ebp
438898:	8b ec                	mov    %esp,%ebp
43889a:	5d                   	pop    %ebp
43889b:	e9 e8 fe ff ff       	jmp    0x438788
4388a0:	8b ff                	mov    %edi,%edi
4388a2:	55                   	push   %ebp
4388a3:	8b ec                	mov    %esp,%ebp
4388a5:	83 ec 24             	sub    $0x24,%esp
4388a8:	a1 14 50 45 00       	mov    0x455014,%eax
4388ad:	33 c5                	xor    %ebp,%eax
4388af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4388b2:	8b 45 0c             	mov    0xc(%ebp),%eax
4388b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4388b8:	8b 55 18             	mov    0x18(%ebp),%edx
4388bb:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4388be:	89 45 e8             	mov    %eax,-0x18(%ebp)
4388c1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4388c4:	53                   	push   %ebx
4388c5:	8b 5d 14             	mov    0x14(%ebp),%ebx
4388c8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4388cb:	56                   	push   %esi
4388cc:	57                   	push   %edi
4388cd:	8b 38                	mov    (%eax),%edi
4388cf:	85 c9                	test   %ecx,%ecx
4388d1:	0f 84 96 00 00 00    	je     0x43896d
4388d7:	8b 45 10             	mov    0x10(%ebp),%eax
4388da:	8b f1                	mov    %ecx,%esi
4388dc:	89 7d f0             	mov    %edi,-0x10(%ebp)
4388df:	83 f8 04             	cmp    $0x4,%eax
4388e2:	73 08                	jae    0x4388ec
4388e4:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4388e7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4388ea:	eb 05                	jmp    0x4388f1
4388ec:	8b ce                	mov    %esi,%ecx
4388ee:	89 75 ec             	mov    %esi,-0x14(%ebp)
4388f1:	0f b7 07             	movzwl (%edi),%eax
4388f4:	52                   	push   %edx
4388f5:	53                   	push   %ebx
4388f6:	50                   	push   %eax
4388f7:	51                   	push   %ecx
4388f8:	e8 0f 13 00 00       	call   0x439c0c
4388fd:	8b d8                	mov    %eax,%ebx
4388ff:	83 c4 10             	add    $0x10,%esp
438902:	83 fb ff             	cmp    $0xffffffff,%ebx
438905:	74 59                	je     0x438960
438907:	8b 45 ec             	mov    -0x14(%ebp),%eax
43890a:	3b c6                	cmp    %esi,%eax
43890c:	74 10                	je     0x43891e
43890e:	39 5d 10             	cmp    %ebx,0x10(%ebp)
438911:	72 48                	jb     0x43895b
438913:	53                   	push   %ebx
438914:	50                   	push   %eax
438915:	56                   	push   %esi
438916:	e8 65 2d fe ff       	call   0x41b680
43891b:	83 c4 0c             	add    $0xc,%esp
43891e:	85 db                	test   %ebx,%ebx
438920:	74 1d                	je     0x43893f
438922:	8d 04 33             	lea    (%ebx,%esi,1),%eax
438925:	8d 48 ff             	lea    -0x1(%eax),%ecx
438928:	8b f0                	mov    %eax,%esi
43892a:	80 39 00             	cmpb   $0x0,(%ecx)
43892d:	75 12                	jne    0x438941
43892f:	33 c0                	xor    %eax,%eax
438931:	8b f1                	mov    %ecx,%esi
438933:	8b 55 e8             	mov    -0x18(%ebp),%edx
438936:	2b 75 dc             	sub    -0x24(%ebp),%esi
438939:	89 02                	mov    %eax,(%edx)
43893b:	8b c6                	mov    %esi,%eax
43893d:	eb 61                	jmp    0x4389a0
43893f:	03 f3                	add    %ebx,%esi
438941:	83 c7 02             	add    $0x2,%edi
438944:	85 db                	test   %ebx,%ebx
438946:	74 03                	je     0x43894b
438948:	89 7d f0             	mov    %edi,-0x10(%ebp)
43894b:	8b 45 10             	mov    0x10(%ebp),%eax
43894e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
438951:	2b c3                	sub    %ebx,%eax
438953:	8b 5d e0             	mov    -0x20(%ebp),%ebx
438956:	89 45 10             	mov    %eax,0x10(%ebp)
438959:	eb 84                	jmp    0x4388df
43895b:	8b 45 f0             	mov    -0x10(%ebp),%eax
43895e:	eb d3                	jmp    0x438933
438960:	8b 55 e8             	mov    -0x18(%ebp),%edx
438963:	83 c8 ff             	or     $0xffffffff,%eax
438966:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438969:	89 0a                	mov    %ecx,(%edx)
43896b:	eb 33                	jmp    0x4389a0
43896d:	33 f6                	xor    %esi,%esi
43896f:	52                   	push   %edx
438970:	eb 13                	jmp    0x438985
438972:	85 c0                	test   %eax,%eax
438974:	74 07                	je     0x43897d
438976:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
43897b:	74 20                	je     0x43899d
43897d:	ff 75 e4             	push   -0x1c(%ebp)
438980:	03 f0                	add    %eax,%esi
438982:	83 c7 02             	add    $0x2,%edi
438985:	0f b7 07             	movzwl (%edi),%eax
438988:	53                   	push   %ebx
438989:	50                   	push   %eax
43898a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43898d:	50                   	push   %eax
43898e:	e8 79 12 00 00       	call   0x439c0c
438993:	83 c4 10             	add    $0x10,%esp
438996:	83 f8 ff             	cmp    $0xffffffff,%eax
438999:	75 d7                	jne    0x438972
43899b:	eb 03                	jmp    0x4389a0
43899d:	48                   	dec    %eax
43899e:	03 c6                	add    %esi,%eax
4389a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4389a3:	5f                   	pop    %edi
4389a4:	5e                   	pop    %esi
4389a5:	33 cd                	xor    %ebp,%ecx
4389a7:	5b                   	pop    %ebx
4389a8:	e8 fd 11 fe ff       	call   0x419baa
4389ad:	c9                   	leave
4389ae:	c3                   	ret
4389af:	8b ff                	mov    %edi,%edi
4389b1:	55                   	push   %ebp
4389b2:	8b ec                	mov    %esp,%ebp
4389b4:	51                   	push   %ecx
4389b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4389b8:	53                   	push   %ebx
4389b9:	8b 5d 10             	mov    0x10(%ebp),%ebx
4389bc:	56                   	push   %esi
4389bd:	8b 75 14             	mov    0x14(%ebp),%esi
4389c0:	57                   	push   %edi
4389c1:	85 f6                	test   %esi,%esi
4389c3:	75 1f                	jne    0x4389e4
4389c5:	85 c9                	test   %ecx,%ecx
4389c7:	75 1f                	jne    0x4389e8
4389c9:	39 75 0c             	cmp    %esi,0xc(%ebp)
4389cc:	74 28                	je     0x4389f6
4389ce:	e8 5d b0 fe ff       	call   0x423a30
4389d3:	6a 16                	push   $0x16
4389d5:	5e                   	pop    %esi