43a8f8:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
43a8fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a8ff:	33 c9                	xor    %ecx,%ecx
43a901:	84 c0                	test   %al,%al
43a903:	79 03                	jns    0x43a908
43a905:	6a 10                	push   $0x10
43a907:	59                   	pop    %ecx
43a908:	a9 00 02 00 00       	test   $0x200,%eax
43a90d:	74 03                	je     0x43a912
43a90f:	83 c9 08             	or     $0x8,%ecx
43a912:	a9 00 04 00 00       	test   $0x400,%eax
43a917:	74 03                	je     0x43a91c
43a919:	83 c9 04             	or     $0x4,%ecx
43a91c:	a9 00 08 00 00       	test   $0x800,%eax
43a921:	74 03                	je     0x43a926
43a923:	83 c9 02             	or     $0x2,%ecx
43a926:	85 c2                	test   %eax,%edx
43a928:	74 03                	je     0x43a92d
43a92a:	83 c9 01             	or     $0x1,%ecx
43a92d:	a9 00 01 00 00       	test   $0x100,%eax
43a932:	74 06                	je     0x43a93a
43a934:	81 c9 00 00 08 00    	or     $0x80000,%ecx
43a93a:	8b d0                	mov    %eax,%edx
43a93c:	bb 00 60 00 00       	mov    $0x6000,%ebx
43a941:	23 d3                	and    %ebx,%edx
43a943:	74 2a                	je     0x43a96f
43a945:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
43a94b:	74 1c                	je     0x43a969
43a94d:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
43a953:	74 0c                	je     0x43a961
43a955:	3b d3                	cmp    %ebx,%edx
43a957:	75 16                	jne    0x43a96f
43a959:	81 c9 00 03 00 00    	or     $0x300,%ecx
43a95f:	eb 0e                	jmp    0x43a96f
43a961:	81 c9 00 02 00 00    	or     $0x200,%ecx
43a967:	eb 06                	jmp    0x43a96f
43a969:	81 c9 00 01 00 00    	or     $0x100,%ecx
43a96f:	6a 40                	push   $0x40
43a971:	25 40 80 00 00       	and    $0x8040,%eax
43a976:	5b                   	pop    %ebx
43a977:	2b c3                	sub    %ebx,%eax
43a979:	74 1b                	je     0x43a996
43a97b:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
43a980:	74 0c                	je     0x43a98e
43a982:	2b c3                	sub    %ebx,%eax
43a984:	75 16                	jne    0x43a99c
43a986:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
43a98c:	eb 0e                	jmp    0x43a99c
43a98e:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
43a994:	eb 06                	jmp    0x43a99c
43a996:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
43a99c:	8b c7                	mov    %edi,%eax
43a99e:	23 7d 08             	and    0x8(%ebp),%edi
43a9a1:	f7 d0                	not    %eax
43a9a3:	23 c1                	and    %ecx,%eax
43a9a5:	0b c7                	or     %edi,%eax
43a9a7:	3b c1                	cmp    %ecx,%eax
43a9a9:	0f 84 b5 00 00 00    	je     0x43aa64
43a9af:	50                   	push   %eax
43a9b0:	e8 24 fd ff ff       	call   0x43a6d9
43a9b5:	50                   	push   %eax
43a9b6:	89 45 0c             	mov    %eax,0xc(%ebp)
43a9b9:	e8 55 27 ff ff       	call   0x42d113
43a9be:	59                   	pop    %ecx
43a9bf:	59                   	pop    %ecx
43a9c0:	0f ae 5d 0c          	stmxcsr 0xc(%ebp)
43a9c4:	8b 45 0c             	mov    0xc(%ebp),%eax
43a9c7:	33 c9                	xor    %ecx,%ecx
43a9c9:	84 c0                	test   %al,%al
43a9cb:	79 03                	jns    0x43a9d0
43a9cd:	6a 10                	push   $0x10
43a9cf:	59                   	pop    %ecx
43a9d0:	a9 00 02 00 00       	test   $0x200,%eax
43a9d5:	74 03                	je     0x43a9da
43a9d7:	83 c9 08             	or     $0x8,%ecx
43a9da:	a9 00 04 00 00       	test   $0x400,%eax
43a9df:	74 03                	je     0x43a9e4
43a9e1:	83 c9 04             	or     $0x4,%ecx
43a9e4:	a9 00 08 00 00       	test   $0x800,%eax
43a9e9:	74 03                	je     0x43a9ee
43a9eb:	83 c9 02             	or     $0x2,%ecx
43a9ee:	a9 00 10 00 00       	test   $0x1000,%eax
43a9f3:	74 03                	je     0x43a9f8
43a9f5:	83 c9 01             	or     $0x1,%ecx
43a9f8:	a9 00 01 00 00       	test   $0x100,%eax
43a9fd:	74 06                	je     0x43aa05
43a9ff:	81 c9 00 00 08 00    	or     $0x80000,%ecx
43aa05:	8b d0                	mov    %eax,%edx
43aa07:	bf 00 60 00 00       	mov    $0x6000,%edi
43aa0c:	23 d7                	and    %edi,%edx
43aa0e:	74 2a                	je     0x43aa3a
43aa10:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
43aa16:	74 1c                	je     0x43aa34
43aa18:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
43aa1e:	74 0c                	je     0x43aa2c
43aa20:	3b d7                	cmp    %edi,%edx
43aa22:	75 16                	jne    0x43aa3a
43aa24:	81 c9 00 03 00 00    	or     $0x300,%ecx
43aa2a:	eb 0e                	jmp    0x43aa3a
43aa2c:	81 c9 00 02 00 00    	or     $0x200,%ecx
43aa32:	eb 06                	jmp    0x43aa3a
43aa34:	81 c9 00 01 00 00    	or     $0x100,%ecx
43aa3a:	25 40 80 00 00       	and    $0x8040,%eax
43aa3f:	2b c3                	sub    %ebx,%eax
43aa41:	74 1b                	je     0x43aa5e
43aa43:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
43aa48:	74 0c                	je     0x43aa56
43aa4a:	2b c3                	sub    %ebx,%eax
43aa4c:	75 16                	jne    0x43aa64
43aa4e:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
43aa54:	eb 0e                	jmp    0x43aa64
43aa56:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
43aa5c:	eb 06                	jmp    0x43aa64
43aa5e:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
43aa64:	8b c1                	mov    %ecx,%eax
43aa66:	0b ce                	or     %esi,%ecx
43aa68:	33 c6                	xor    %esi,%eax
43aa6a:	a9 1f 03 08 00       	test   $0x8031f,%eax
43aa6f:	74 06                	je     0x43aa77
43aa71:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
43aa77:	8b c1                	mov    %ecx,%eax
43aa79:	eb 02                	jmp    0x43aa7d
43aa7b:	8b c6                	mov    %esi,%eax
43aa7d:	5f                   	pop    %edi
43aa7e:	5e                   	pop    %esi
43aa7f:	5b                   	pop    %ebx
43aa80:	8b e5                	mov    %ebp,%esp
43aa82:	5d                   	pop    %ebp
43aa83:	c3                   	ret
43aa84:	55                   	push   %ebp
43aa85:	8b ec                	mov    %esp,%ebp
43aa87:	8b 4d 08             	mov    0x8(%ebp),%ecx
43aa8a:	33 c0                	xor    %eax,%eax
43aa8c:	f6 c1 10             	test   $0x10,%cl
43aa8f:	74 01                	je     0x43aa92
43aa91:	40                   	inc    %eax
43aa92:	f6 c1 08             	test   $0x8,%cl
43aa95:	74 03                	je     0x43aa9a
43aa97:	83 c8 04             	or     $0x4,%eax
43aa9a:	f6 c1 04             	test   $0x4,%cl
43aa9d:	74 03                	je     0x43aaa2
43aa9f:	83 c8 08             	or     $0x8,%eax
43aaa2:	f6 c1 02             	test   $0x2,%cl
43aaa5:	74 03                	je     0x43aaaa
43aaa7:	83 c8 10             	or     $0x10,%eax
43aaaa:	f6 c1 01             	test   $0x1,%cl
43aaad:	74 03                	je     0x43aab2
43aaaf:	83 c8 20             	or     $0x20,%eax
43aab2:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
43aab8:	74 03                	je     0x43aabd
43aaba:	83 c8 02             	or     $0x2,%eax
43aabd:	56                   	push   %esi
43aabe:	8b d1                	mov    %ecx,%edx
43aac0:	be 00 03 00 00       	mov    $0x300,%esi
43aac5:	57                   	push   %edi
43aac6:	bf 00 02 00 00       	mov    $0x200,%edi
43aacb:	23 d6                	and    %esi,%edx
43aacd:	74 23                	je     0x43aaf2
43aacf:	81 fa 00 01 00 00    	cmp    $0x100,%edx
43aad5:	74 16                	je     0x43aaed
43aad7:	3b d7                	cmp    %edi,%edx
43aad9:	74 0b                	je     0x43aae6
43aadb:	3b d6                	cmp    %esi,%edx
43aadd:	75 13                	jne    0x43aaf2
43aadf:	0d 00 0c 00 00       	or     $0xc00,%eax
43aae4:	eb 0c                	jmp    0x43aaf2
43aae6:	0d 00 08 00 00       	or     $0x800,%eax
43aaeb:	eb 05                	jmp    0x43aaf2
43aaed:	0d 00 04 00 00       	or     $0x400,%eax
43aaf2:	8b d1                	mov    %ecx,%edx
43aaf4:	81 e2 00 00 03 00    	and    $0x30000,%edx
43aafa:	74 0c                	je     0x43ab08
43aafc:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
43ab02:	75 06                	jne    0x43ab0a
43ab04:	0b c7                	or     %edi,%eax
43ab06:	eb 02                	jmp    0x43ab0a
43ab08:	0b c6                	or     %esi,%eax
43ab0a:	5f                   	pop    %edi
43ab0b:	5e                   	pop    %esi
43ab0c:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
43ab12:	74 05                	je     0x43ab19
43ab14:	0d 00 10 00 00       	or     $0x1000,%eax
43ab19:	5d                   	pop    %ebp
43ab1a:	c3                   	ret
43ab1b:	55                   	push   %ebp
43ab1c:	8b ec                	mov    %esp,%ebp
43ab1e:	83 ec 0c             	sub    $0xc,%esp
43ab21:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43ab25:	8b 45 08             	mov    0x8(%ebp),%eax
43ab28:	57                   	push   %edi
43ab29:	85 c0                	test   %eax,%eax
43ab2b:	75 15                	jne    0x43ab42
43ab2d:	e8 36 e2 fe ff       	call   0x428d68
43ab32:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43ab38:	e8 b9 e4 fe ff       	call   0x428ff6
43ab3d:	83 c8 ff             	or     $0xffffffff,%eax
43ab40:	eb 74                	jmp    0x43abb6
43ab42:	53                   	push   %ebx
43ab43:	8b 18                	mov    (%eax),%ebx
43ab45:	56                   	push   %esi
43ab46:	85 db                	test   %ebx,%ebx
43ab48:	74 5c                	je     0x43aba6
43ab4a:	6a 3d                	push   $0x3d
43ab4c:	53                   	push   %ebx
43ab4d:	e8 c8 06 00 00       	call   0x43b21a
43ab52:	8b f0                	mov    %eax,%esi
43ab54:	89 75 f4             	mov    %esi,-0xc(%ebp)
43ab57:	59                   	pop    %ecx
43ab58:	59                   	pop    %ecx
43ab59:	85 f6                	test   %esi,%esi
43ab5b:	74 49                	je     0x43aba6
43ab5d:	3b de                	cmp    %esi,%ebx
43ab5f:	74 45                	je     0x43aba6
43ab61:	8b 3d b0 41 4c 00    	mov    0x4c41b0,%edi
43ab67:	33 c0                	xor    %eax,%eax
43ab69:	38 46 01             	cmp    %al,0x1(%esi)
43ab6c:	0f 94 c0             	sete   %al
43ab6f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ab72:	3b 3d d0 41 4c 00    	cmp    0x4c41d0,%edi
43ab78:	75 12                	jne    0x43ab8c
43ab7a:	57                   	push   %edi
43ab7b:	e8 e3 01 00 00       	call   0x43ad63
43ab80:	8b f8                	mov    %eax,%edi
43ab82:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ab85:	59                   	pop    %ecx
43ab86:	89 3d b0 41 4c 00    	mov    %edi,0x4c41b0
43ab8c:	85 ff                	test   %edi,%edi
43ab8e:	75 6e                	jne    0x43abfe
43ab90:	39 7d 0c             	cmp    %edi,0xc(%ebp)
43ab93:	74 26                	je     0x43abbb
43ab95:	39 3d b4 41 4c 00    	cmp    %edi,0x4c41b4
43ab9b:	74 1e                	je     0x43abbb
43ab9d:	e8 06 f0 ff ff       	call   0x439ba8
43aba2:	85 c0                	test   %eax,%eax
43aba4:	74 4e                	je     0x43abf4
43aba6:	e8 bd e1 fe ff       	call   0x428d68
43abab:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43abb1:	83 c8 ff             	or     $0xffffffff,%eax
43abb4:	5e                   	pop    %esi
43abb5:	5b                   	pop    %ebx
43abb6:	5f                   	pop    %edi
43abb7:	8b e5                	mov    %ebp,%esp
43abb9:	5d                   	pop    %ebp
43abba:	c3                   	ret
43abbb:	85 c0                	test   %eax,%eax
43abbd:	0f 85 8c 01 00 00    	jne    0x43ad4f
43abc3:	6a 04                	push   $0x4
43abc5:	e8 93 de fe ff       	call   0x428a5d
43abca:	a3 b0 41 4c 00       	mov    %eax,0x4c41b0
43abcf:	59                   	pop    %ecx
43abd0:	85 c0                	test   %eax,%eax
43abd2:	74 dd                	je     0x43abb1
43abd4:	83 20 00             	andl   $0x0,(%eax)
43abd7:	83 3d b4 41 4c 00 00 	cmpl   $0x0,0x4c41b4
43abde:	75 14                	jne    0x43abf4
43abe0:	6a 04                	push   $0x4
43abe2:	e8 76 de fe ff       	call   0x428a5d
43abe7:	a3 b4 41 4c 00       	mov    %eax,0x4c41b4
43abec:	59                   	pop    %ecx
43abed:	85 c0                	test   %eax,%eax
43abef:	74 c0                	je     0x43abb1
43abf1:	83 20 00             	andl   $0x0,(%eax)
43abf4:	8b 3d b0 41 4c 00    	mov    0x4c41b0,%edi
43abfa:	85 ff                	test   %edi,%edi
43abfc:	74 b3                	je     0x43abb1
43abfe:	8b c6                	mov    %esi,%eax
43ac00:	2b c3                	sub    %ebx,%eax
43ac02:	50                   	push   %eax
43ac03:	53                   	push   %ebx
43ac04:	e8 ba 01 00 00       	call   0x43adc3
43ac09:	8b f0                	mov    %eax,%esi
43ac0b:	59                   	pop    %ecx
43ac0c:	59                   	pop    %ecx
43ac0d:	85 f6                	test   %esi,%esi
43ac0f:	78 57                	js     0x43ac68
43ac11:	83 3f 00             	cmpl   $0x0,(%edi)
43ac14:	74 52                	je     0x43ac68
43ac16:	ff 34 b7             	push   (%edi,%esi,4)
43ac19:	e8 77 83 fe ff       	call   0x422f95
43ac1e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43ac22:	59                   	pop    %ecx
43ac23:	75 16                	jne    0x43ac3b
43ac25:	89 1c b7             	mov    %ebx,(%edi,%esi,4)
43ac28:	8b 7d 08             	mov    0x8(%ebp),%edi
43ac2b:	83 27 00             	andl   $0x0,(%edi)
43ac2e:	e9 87 00 00 00       	jmp    0x43acba
43ac33:	8b 44 b7 04          	mov    0x4(%edi,%esi,4),%eax
43ac37:	89 04 b7             	mov    %eax,(%edi,%esi,4)
43ac3a:	46                   	inc    %esi
43ac3b:	83 3c b7 00          	cmpl   $0x0,(%edi,%esi,4)
43ac3f:	75 f2                	jne    0x43ac33
43ac41:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
43ac47:	73 6e                	jae    0x43acb7
43ac49:	6a 04                	push   $0x4
43ac4b:	56                   	push   %esi
43ac4c:	ff 35 b0 41 4c 00    	push   0x4c41b0
43ac52:	e8 97 de fe ff       	call   0x428aee
43ac57:	8b 7d 08             	mov    0x8(%ebp),%edi
43ac5a:	83 c4 0c             	add    $0xc,%esp
43ac5d:	85 c0                	test   %eax,%eax
43ac5f:	74 59                	je     0x43acba
43ac61:	a3 b0 41 4c 00       	mov    %eax,0x4c41b0
43ac66:	eb 52                	jmp    0x43acba
43ac68:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43ac6c:	0f 85 d0 00 00 00    	jne    0x43ad42
43ac72:	85 f6                	test   %esi,%esi
43ac74:	79 02                	jns    0x43ac78
43ac76:	f7 de                	neg    %esi
43ac78:	8d 46 02             	lea    0x2(%esi),%eax
43ac7b:	3b c6                	cmp    %esi,%eax
43ac7d:	0f 8c 2e ff ff ff    	jl     0x43abb1
43ac83:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
43ac88:	0f 83 23 ff ff ff    	jae    0x43abb1
43ac8e:	50                   	push   %eax
43ac8f:	6a 04                	push   $0x4
43ac91:	ff 35 b0 41 4c 00    	push   0x4c41b0
43ac97:	e8 52 de fe ff       	call   0x428aee
43ac9c:	83 c4 0c             	add    $0xc,%esp
43ac9f:	85 c0                	test   %eax,%eax
43aca1:	0f 84 0a ff ff ff    	je     0x43abb1
43aca7:	8b 7d 08             	mov    0x8(%ebp),%edi
43acaa:	83 64 b0 04 00       	andl   $0x0,0x4(%eax,%esi,4)
43acaf:	89 1c b0             	mov    %ebx,(%eax,%esi,4)
43acb2:	83 27 00             	andl   $0x0,(%edi)
43acb5:	eb aa                	jmp    0x43ac61
43acb7:	8b 7d 08             	mov    0x8(%ebp),%edi
43acba:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43acbe:	74 6a                	je     0x43ad2a
43acc0:	6a 01                	push   $0x1
43acc2:	53                   	push   %ebx
43acc3:	e8 b8 8c fe ff       	call   0x423980
43acc8:	59                   	pop    %ecx
43acc9:	83 c0 02             	add    $0x2,%eax
43accc:	50                   	push   %eax
43accd:	e8 43 dd fe ff       	call   0x428a15
43acd2:	8b f0                	mov    %eax,%esi
43acd4:	59                   	pop    %ecx
43acd5:	59                   	pop    %ecx
43acd6:	85 f6                	test   %esi,%esi
43acd8:	74 50                	je     0x43ad2a
43acda:	53                   	push   %ebx
43acdb:	53                   	push   %ebx
43acdc:	e8 9f 8c fe ff       	call   0x423980
43ace1:	59                   	pop    %ecx
43ace2:	83 c0 02             	add    $0x2,%eax
43ace5:	50                   	push   %eax
43ace6:	56                   	push   %esi
43ace7:	e8 16 9b ff ff       	call   0x434802
43acec:	83 c4 0c             	add    $0xc,%esp
43acef:	85 c0                	test   %eax,%eax